Подтвердить что ты не робот

Как протестировать Push Notification работает в моем приложении

В моем приложении я внедряю службу Push Notification.
У меня есть сервер поставщика контента, который содержит в себе некоторые продукты.
Я создал сертификат SSL-клиента и привязал его к моему профилю Provisioning. Этот профиль также добавлен в мое приложение.
Я написал код внутри методов делегата (руководствуясь директивой Apple для внедрения Push Notification). Все установлено.

Теперь я хочу проверить свое приложение, передает ли оно push-уведомление в соответствии с требованием. Любая идея о том, как я могу ее проверить, очень помогла бы мне. Должен ли я добавить новый продукт на сервер поставщика контента, чтобы проверить это?

Если да, сколько будет APNS для отправки push-уведомления на мое устройство?

4b9b3361

Ответ 1

Очень крутой гид размещен здесь: Программирование служб уведомлений Apple Push

И приложение здесь: PushMeBaby Mac Os App, которое вы можете загружать и использовать для отправки push-уведомлений на свои устройства с Mac.

APNS отправит push-уведомление на ваше устройство, как только ваше устройство станет доступным. Если я не ошибаюсь, ваше устройство каждый день связывает APNS.

Ответ 2

Я попробовал все 3 из вышеуказанных предложений без успеха. В случае, если кто-то еще здесь ищет решение для этого, я нашел это, и он отлично работает:

Pusher https://github.com/noodlewerk/NWPusher

Ответ 3

Вы должны попробовать ветвь PushMeBaby, это сработало для меня.

Ответ 4

Как насчет curl:

curl -d '{"aps":{"alert":"This is a test notification"}}' --cert YourCertificate.pem:YourPassword -H "apns-topic: com.example.yourapp" --http2  https://api.development.push.apple.com/3/device/YourDeviceToken

Сначала вам нужно curl с поддержкой http2.
И вам нужно преобразовать сертификат push в формат pem, используя openssl.

Ответ 5

Если вы хотите поддерживать аутентификацию на основе сертификатов и токенов с APNS, вы можете попробовать Push-уведомления

enter image description here

Ответ 6

Попробуйте это онлайн-приложение, через которое вы можете вставить маркер своего устройства и предоставить сертификат, и, таким образом, отправлять push-уведомления на любые устройства и также настраивать данные. http://pushmebaby.herokuapp.com

Ответ 7

Вы можете использовать тестер APNS, его очень хороший инструмент для тестирования APNS с Mac Machine ссылка на это программное обеспечение. 2 вещи, которые необходимо предоставить для тестирования push-уведомления

сертификат 1.APNS(файл .cer) 2.Device токен пользовательского устройства iOS

Ответ 8

PushMeBaby заморожен, когда я тестирую iOS10 в Xcode8. Попробуйте NWPusher, https://github.com/noodlewerk/NWPusher. Дружественный и простой инструмент с графическим интерфейсом.

Ответ 10

Я создал небольшой скрипт для этого

import json
import jwt
import time

from hyper import HTTPConnection

ALGORITHM = 'ES256'

# fill these items
APNS_KEY_ID = ''
TEAM_ID = ''
BUNDLE_ID = ''

# put path to p8 file
APNS_AUTH_KEY = ''

# put device token id (of the notification receiver)
REGISTRATION_ID = ''

# let do the magic :)
f = open(APNS_AUTH_KEY)
secret = f.read()

token = jwt.encode(
    {
        'iss': TEAM_ID,
        'iat': time.time()
    },
    secret,
    algorithm= ALGORITHM,
    headers={
       'alg': ALGORITHM,
        'kid': APNS_KEY_ID,
   }
)

path = '/3/device/{0}'.format(REGISTRATION_ID)

equest_headers = {
'apns-expiration': '0',
'apns-priority': '10',
'apns-topic': BUNDLE_ID,
'authorization': 'bearer {0}'.format(token.decode('ascii'))
}

connection = HTTPConnection('api.development.push.apple.com:443')

# put the payload you need
payload_data = {
'aps': {
 'content-available': '1',
 },
}
payload = json.dumps(payload_data).encode('utf-8')

connection.request(
'POST',
path,
payload,
headers=request_headers
)
resp = connection.get_response()

print(resp.status)
print(resp.read())

https://gist.github.com/IvanivOleg/7ba4072128b2c05a068a6826be68a3d3