Je développe une application de restaurant. J'utilise One Signal dans mon application pour envoyer des notifications. Ici, pendant que je passe la commande, je dois envoyer l'identifiant unique du signal correspondant à un utilisateur spécifique pour lui demander de recevoir une notification "Votre commande est passée avec succès ... elle est en cours. Veuillez patienter". Pour cela, j'ai besoin de l'identifiant utilisateur One Signal de l'utilisateur. Comment puis-je l'avoir? Je suis novice à One Signal. Aidez-moi, s'il vous plaît.
Vous avez l'identifiant unique de OneSignal en utilisant le code suivant qui se trouve sur le site officiel de OneSignal.
OneSignal.idsAvailable(new OneSignal.IdsAvailableHandler() {
@Override
public void idsAvailable(String userId, String registrationId) {
Log.d("debug", "User:" + userId);
if (registrationId != null)
Log.d("debug", "registrationId:" + registrationId);
}
});
Référer:
La solution ci-dessus pour Android est obsolète Utilisez:
OSPermissionSubscriptionState status = OneSignal.getPermissionSubscriptionState();
status.getSubscriptionStatus().getUserId();
Pour Android, vous pouvez obtenir les ID utilisateur, c’est-à-dire les ID joueur, à partir de la version 3.5.0+ du SDK Android natif à l’aide de la méthode getPermissionSubscriptionState et de la méthode addSubscriptionObserver.
Pour plus d'informations sur l'utilisation de getPermissionSubscriptionState, voir: https://documentation.onesignal.com/docs/Android-native-sdk#section--getpermissionsubscriptionstate-
Pour ajouter des observateurs d'abonnement, voir: https://documentation.onesignal.com/docs/Android-native-sdk#section--addsubscriptionobserver-
Il existe un exemple Android natif sur Github: https://github.com/OneSignal/OneSignal-Android-SDK
Il se trouve dans le dossier Exemples intitulé AndroidStudio.
Pour iOS, vous pouvez obtenir les ID de lecteur à partir de la version 2.5.0 du SDK iOS natif à l'aide de la méthode getPermissionSubscriptionState et de addSubscriptionObserver.
Pour plus d'informations sur l'utilisation de getPermissionSubscriptionState, voir: https://documentation.onesignal.com/docs/ios-native-sdk#section--getpermissionsubscriptionstate-
Pour ajouter des observateurs d'abonnement, voir: https://documentation.onesignal.com/docs/ios-native-sdk#section--addsubscriptionobserver-
Il existe un exemple de projet iOS dans Swift sur Github qui pourrait vous être utile: https://github.com/OneSignal/OneSignal-iOS-SDK/tree/master/Examples
pour iOS :
let status: OSPermissionSubscriptionState = OneSignal.getPermissionSubscriptionState()
if let id = status.subscriptionStatus.userId {
oneSignalPlayer_ID = id
print("\nOneSignal UserId:", id)
}
@Lakshmi Reddy
dans iOS, vous pouvez faire comme ci-dessous:
OSPermissionSubscriptionState* status = [OneSignal getPermissionSubscriptionState];
status.permissionStatus.hasPrompted
status.permissionStatus.status
// <- OneSignal idsAvailable is deprecated.it's the alternative
status.subscriptionStatus.subscribed
status.subscriptionStatus.userSubscriptionSetting
status.subscriptionStatus.userId
status.subscriptionStatus.pushToken
NSLog(@"Push Token - %@",status.subscriptionStatus.pushToken);
NSLog(@"Push User ID - %@",status.subscriptionStatus.userId);