Как получить один сигнал уникальный идентификатор пользователя в мобильном телефоне?

Я разрабатываю приложение для ресторана. Я использую один сигнал в своем приложении для отправки уведомлений. Здесь, когда я размещаю заказ, мне нужно отправить уникальный идентификатор одного сигнала для конкретного пользователя для получения уведомления "ваш заказ размещен успешно... Она в процессе.Подождать." Для этого мне нужен идентификатор пользователя One Signal user id. Как я могу его получить? Я новичок в одном сигнале. Пожалуйста, помогите мне.

5 ответов


получил уникальный идентификатор OneSignal, используя следующий код, который находится на официальном сайте 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);

        }
    });

относятся:

получение кода на официальном сайте


вышеуказанное решение для android устарело Использовать:

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

на iOS:

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

для android вы можете получить userIDs aka playerIDs, начиная с версии 3.5.0 + собственного Android SDK, используя метод getPermissionSubscriptionState и addSubscriptionObserver.

подробнее об использовании getPermissionSubscriptionState см.: https://documentation.onesignal.com/docs/android-native-sdk#section--getpermissionsubscriptionstate-

для добавления наблюдателей подписки см.: https://documentation.onesignal.com/docs/android-native-sdk#section--addsubscriptionobserver-

есть собственный пример Android на Github: https://github.com/OneSignal/OneSignal-Android-SDK

Он находится в папке примеров с надписью AndroidStudio

для iOS вы можете получить playerIDs, начиная с версии 2.5.0 собственного iOS SDK, используя метод getPermissionSubscriptionState и addSubscriptionObserver.

подробнее об использовании getPermissionSubscriptionState см.: https://documentation.onesignal.com/docs/ios-native-sdk#section--getpermissionsubscriptionstate-

для добавления наблюдателей подписки см.: https://documentation.onesignal.com/docs/ios-native-sdk#section--addsubscriptionobserver-

есть пример проекта iOS в Swift на Github, который может оказать некоторую помощь: https://github.com/OneSignal/OneSignal-iOS-SDK/tree/master/Examples


@Lakshmi Reddy

в iOS, вы можете сделать как ниже:

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