Ich entwickle eine Restaurant-App. Ich verwende One Signal in meiner App, um Benachrichtigungen zu senden. Während ich die Bestellung aufgeben, muss ich die eindeutige ID des einen Signals für einen bestimmten Benutzer senden, um eine Benachrichtigung zu erhalten, dass Ihre Bestellung erfolgreich platziert wurde. Dafür brauche ich die One-Signal-Benutzer-ID des Benutzers. Wie kann ich es bekommen? Ich bin Neuling bei One Signal. Bitte hilf mir.
Die eindeutige ID von OneSignal erhalten Sie, indem Sie den folgenden Code verwenden, der sich auf der offiziellen Seite von OneSignal befindet.
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);
}
});
Verweisen:
Die obige Lösung für Android ist veraltet Verwendung:
OSPermissionSubscriptionState status = OneSignal.getPermissionSubscriptionState();
status.getSubscriptionStatus().getUserId();
Für Android können Sie die Benutzer-IDs (Player-IDs) ab der Version 3.5.0 des nativen Android-SDK mithilfe der getPermissionSubscriptionState-Methode und der Option addSubscriptionObserver abrufen.
Weitere Informationen zur Verwendung von getPermissionSubscriptionState finden Sie unter: https://documentation.onesignal.com/docs/Android-native-sdk#section--getpermissionsubscriptionstate-
Informationen zum Hinzufügen von Abonnementbeobachtern finden Sie unter: https://documentation.onesignal.com/docs/Android-native-sdk#section--addsubscriptionobserver-
Es gibt ein natives Android-Beispiel auf Github: https://github.com/OneSignal/OneSignal-Android-SDK
Es befindet sich im Ordner Beispiele mit der Bezeichnung AndroidStudio
Für iOS können Sie die Player-IDs ab Version 2.5.0 des nativen iOS-SDK mithilfe der Methode getPermissionSubscriptionState und addSubscriptionObserver abrufen.
Weitere Informationen zur Verwendung von getPermissionSubscriptionState finden Sie unter: https://documentation.onesignal.com/docs/ios-native-sdk#section--getpermissionsubscriptionstate-
Informationen zum Hinzufügen von Abonnementbeobachtern finden Sie unter: https://documentation.onesignal.com/docs/ios-native-sdk#section--addsubscriptionobserver-
Es gibt ein iOS-Beispielprojekt in Swift auf Github, das möglicherweise hilfreich ist: https://github.com/OneSignal/OneSignal-iOS-SDK/tree/master/Examples
für iOS :
let status: OSPermissionSubscriptionState = OneSignal.getPermissionSubscriptionState()
if let id = status.subscriptionStatus.userId {
oneSignalPlayer_ID = id
print("\nOneSignal UserId:", id)
}
@ Lakshmi Reddy
in iOS können Sie wie folgt vorgehen:
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);