2012-06-15 21 views
5

Pracuję nad aplikacją na iPhone'a z integracją Apple Push Notification. Mam pewne wątpliwości w tej kwestii.Rejestracja w usłudze Apple Push Notification i token urządzenia Otrzymujesz wyjaśnienia?

  1. Jeśli użytkownik kliknął przycisk "Nie zezwalaj" w powiadomieniu o rejestracji APNS, czy nasz kod nadal otrzyma token urządzenia od APNS?

  2. Testowałem to, gdy użytkownik wyłączył powiadomienie w powiadomieniu iPhone'a, a mimo to aplikacja otrzymywała token urządzenia od APNS? Jest poprawna?

Czy ktoś może wyjaśnić te wątpliwości?

Odpowiedz

8
  1. W moim rozumieniu na APNS, to nie zależy od działań użytkownika (jak wspomniano, że jeśli kiedy użytkownik kliknie na „Do not allow” przycisku) dla iOS do otrzymania urządzenia Reklamowe.

    Jeśli zawarte w aplikacji:

    - (void)application:didRegisterForRemoteNotificationsWithDeviceToken   
    

    Oznacza to, że iOS oparte aplikacja wysyła wniosek o rejestrację powiadomień push. W zamian Apple wysyła token urządzenia do iOS; następnie iOS wysyła token do aplikacji, a następnie aplikacja wysyła go do swojego usługodawcy.

    Należy pamiętać, że gdy użytkownik zostanie poproszony "Nie zezwalaj", nie oznacza to, że nie otrzymasz tokenu urządzenia. "Nie zezwalaj" oznacza czynność, jaką należy podjąć na każde powiadomienie otrzymane przez aplikację przeznaczoną dla użytkownika. Powiedz, lokalizacja. To zupełnie inna sprawa. Oznacza to, że użytkownik nie zezwala aplikacji na korzystanie z jej/jej lokalizacji.

  2. Tak. nadal otrzymuje token urządzenia, co omówiłem w mojej odpowiedzi na twoje pytanie w punkcie 1. To tylko ustawienie dla Twojej aplikacji, co oznacza, że ​​nie otrzymasz żadnego widocznego powiadomienia (plakietka, wiadomość lub dźwięk), gdy pojawią się aktualizacje o jakichkolwiek informacjach mających związek z Twoją aplikacją. To tak, jak ustawienie konta Facebook, aby otrzymywać powiadomienia tylko wtedy, gdy Twoi znajomi wyślą Ci prywatną wiadomość. Poza tym nie otrzymasz żadnego powiadomienia.

    Proces umożliwiający APN jest:

    1. Żądanie certyfikatu Urząd
    2. Utwórz identyfikator aplikacji
    3. Konfigurowanie AppId dla powiadomień push
    4. Tworzenie rezerw profilowi ​​
    5. Provisioning urządzenie
    6. Włączanie profilu w Xcode
    7. Tworzenie dostawcy powiadomienia Push.

uzyskać więcej zrozumienia na APNS sprawdzić this out.

+0

Dzięki za odpowiedź. Z Twojej odpowiedzi rozumiem, że jeśli użytkownik anuluje żądanie powiadomienia Apple Push Notification, nasza aplikacja automatycznie otrzyma token urządzenia z apns. Czy mam rację? W obu przypadkach zezwalaj i nie zezwalaj aplikacji na otrzymywanie tokena urządzenia od APNS. Proszę powiedzieć, że to dobrze, czy źle? Dzięki. – Gopinath

+0

Zgadza się. "Nie pozwól" nie zatrzyma aplikacji od otrzymania tokena urządzenia od Apple. – Kimpoy

+0

Wielkie dzięki za odpowiedź na miejscu i pomocną dłoń. Ale użytkownik nie otrzyma żadnych powiadomień od APNS, prawda? Jak możemy znaleźć użytkownika, który anulował usługę Apple Push Notification? Z góry dziękuję. – Gopinath

5

Testowałem z Xcode 6.1, ios8.1.2.Obecnie token urządzenie zostanie wygenerowany jedynie w dwóch przypadkach

  1. domyślna zgoda Apple „OK” opcję
  2. Po „Nie”, umożliwiają ręczną zmianę Ustawienia-> Notifications-> app-> AllowNotification (On)

Odmawiając za pierwszym razem za zgodą jabłka, nie wygeneruje tokena urządzenia, dopóki ręcznie nie zmieni wartości na stronie ustawień.

+0

w przypadku 2, jak otrzymamy token? –