2016-04-02 13 views
16

Ich entwickle eine Restaurant-App. Ich verwende ein Signal in meiner App, um Benachrichtigungen zu senden. Hier, während ich die Bestellung erstelle, muss ich die eindeutige ID des einen Signals an einen bestimmten Benutzer senden, um eine Benachrichtigung zu erhalten, dass "Ihre Bestellung erfolgreich platziert wurde ... Sie läuft. Bitte warten Sie". Dafür benötige ich die Benutzer-ID des Benutzers. Wie kann ich es bekommen? Ich bin ein Neuling für ein Signal. Bitte hilf mir.Wie erhält man One Signal eindeutige Benutzer-ID in Mobile?

Antwort

30

Haben Sie die eindeutige ID von OneSignal mit dem folgenden Code, der auf der offiziellen Website von OneSignal ist.

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); 

     } 
    }); 

Siehe:

Getting code in Official Site

+0

Ich war versuchen, dies auf iOS zu tun und dies erklärt, wie es geht. Es ist die gleiche Logik in iOS – blackmoon

+0

Sorry ..keine Idee für IOS ji @blackmoon –

+0

Jede Lösung für iOS @blackmon –

2

für iOS:

let status: OSPermissionSubscriptionState = OneSignal.getPermissionSubscriptionState() 
    if let id = status.subscriptionStatus.userId { 
    oneSignalPlayer_ID = id 
    print("\nOneSignal UserId:", id) 
} 
0

@Lakshmi Reddy

in iOS, können Sie wie unten tun:

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); 
1

Die obige Lösung für Android ist veraltet Verwendung:

OSPermissionSubscriptionState status = OneSignal.getPermissionSubscriptionState(); 
status.getSubscriptionStatus().getUserId(); 
0

für Android, Sie die Benutzer-IDs aka playerIDs beginnend in der 3.5.0+ Version des nativen Android SDK mit dem getPermissionSubscriptionState bekommen Methode und addSubscriptionObserver.

Weitere Informationen über die Verwendung von getPermissionSubscriptionState sehen: https://documentation.onesignal.com/docs/android-native-sdk#section--getpermissionsubscriptionstate-

Für Zeichnungs- Beobachter Zugabe sehen: https://documentation.onesignal.com/docs/android-native-sdk#section--addsubscriptionobserver-

Es gibt ein Beispiel india Android ist auf Github: https://github.com/OneSignal/OneSignal-Android-SDK

Es ist in den Beispielen Ordner Android Studio markiert

Für iOS können Sie die Player-IDs ab der Version 2.5.0 der nativen iOS-SD-Version abrufen K mit der Methode getPermissionSubscriptionState und addSubscriptionObserver.

Weitere Informationen über die Verwendung von getPermissionSubscriptionState sehen: https://documentation.onesignal.com/docs/ios-native-sdk#section--getpermissionsubscriptionstate-

Für Zeichnungs- Beobachter Zugabe sehen: https://documentation.onesignal.com/docs/ios-native-sdk#section--addsubscriptionobserver-

Es ist ein iOS Beispielprojekt in Swift auf Github, die von einem gewissen Nutzen sein könnte: https://github.com/OneSignal/OneSignal-iOS-SDK/tree/master/Examples