Как протестировать Push Notification работает в моем приложении
В моем приложении я внедряю службу Push Notification.
У меня есть сервер поставщика контента, который содержит в себе некоторые продукты.
Я создал сертификат SSL-клиента и привязал его к моему профилю Provisioning. Этот профиль также добавлен в мое приложение.
Я написал код внутри методов делегата (руководствуясь директивой Apple для внедрения Push Notification). Все установлено.
Теперь я хочу проверить свое приложение, передает ли оно push-уведомление в соответствии с требованием. Любая идея о том, как я могу ее проверить, очень помогла бы мне.
Должен ли я добавить новый продукт на сервер поставщика контента, чтобы проверить это?
Если да, сколько будет APNS для отправки push-уведомления на мое устройство?
Ответы
Ответ 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. Дружественный и простой инструмент с графическим интерфейсом.
Ответ 9
Если вы Google, вы увидите несколько сайтов, которые делают это. Я обычно использую https://www.apnstester.com и https://www.pushty.com
Ответ 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