8
votes

Si j'utilise le service de notification push Apple pour la messagerie instantanée, Apple bloque mon compte?

Je veux créer une application de discussion iOS à l'aide d'APNS. Si j'ai 10 000 actifs et qu'ils poursuivent des discussions, appellez-vous à Apple Block My Developer Compte? Y a-t-il une limite à ce sujet?


0 commentaires

4 Réponses :


13
votes

"Si vous envoyez plusieurs notifications au même périphérique ou à un même ordinateur dans une courte période, le service Push n'enverra que le dernier."

Plus d'informations: http://developer.apple.com/library/ios/# TECHNOTES / TN2265 / _INDEX.HTML

Mais Apple ne bloque pas votre compte de développeur :)


5 commentaires

J'ai testé mon application. Lorsque vous discutez, je ne manque aucun texte. Ma confusion est, si des milliers de personnes conviendront simultanément, qu'est-ce qui va arriver! Merci à vous et aussi Apple qu'ils ne bloqueront pas mon compte .. :-)


APNS n'est pas une bonne idée de la messagerie instantanée. Une très bonne alternative est F.e. Websocket :)


Donc, je dois implémenter la programmation de socket et j'ai besoin de créer mon propre serveur de poussée, non?


Vous avez besoin de votre propre serveur de socket pour im quand les applications sont en cours d'exécution, mais lorsque l'application est éteinte et que vous avez besoin d'un utilisateur de notification sur le nouveau message dont vous avez besoin d'APNS.


Je suis d'accord avec Roman 100%. Propre Socket Server + APNS pour les retombées (pour lancer la "conversation". Ce n'est pas un problème de perdre des messages avec 1000 utilisateurs - vous perdez des messages s'il n'y a que quelques messages envoyés à son même périphérique en peu de temps. Même si vous Ne perdez pas les messages en mode de test de production, cela ne signifie pas que vous ne les perdez pas en mode de distribution.



6
votes

Vous pouvez les utiliser pour la messagerie mais vous allez découvrir rapidement qu'il n'y a aucune garantie qu'ils arriveront. Ceci est connu comme le trou noir des notifications push. ; -)


2 commentaires

La notification push doit généralement être utilisée une fonctionnalité de bonus plutôt que d'une méthode de livraison à preuve complète. Votre meilleure option serait d'utiliser des notifications locales. Bien que les applications d'information ontient des limites à la quantité de temps qu'ils peuvent être ouvertes à l'exception des applications à jouer de la musique, de la navigation, de la prise en charge des périphériques constants (Bluetooth) ou des applications VoIP. développeur.apple.com/library/ios/#documentation/iphone/...


Notifications locales pour une application de chat? Comment ça va travailler? Il devrait utiliser pousser pour informer les utilisateurs qu'un nouveau message est arrivé, mais cela devrait être. Le service de messagerie elle-même devrait vivre sur un serveur dédié.



14
votes

Je vous découragerais d'utiliser des APNS comme une colonne vertébrale d'une "application de discussion".

Si vous avez besoin de fonctionnalités de discussion rapide, vous devez écrire votre propre serveur basé sur la prise TCP.

Si chaque synchronisation de la deuxième seconde est O.K. Vous pouvez vous éloigner avec un backend de serveur basé sur HTTP (mais toute la synchronisation de la traction peut être difficile sur le trafic réseau - donc le socket TCP est toujours meilleur choix).

Vous pouvez cependant utiliser des APNS pour les retombées - lorsque votre application sur certains périphériques ne répond pas (c.-à-d. n'est pas connecté au serveur), vous pouvez envoyer un message initial APNS (pour réveiller votre application. Pour en informer l'utilisateur, il y a un message qui l'attend).

Dès que l'utilisateur ouvre votre application, vous devez revenir à votre prise TCP-socket ou à la communication de serveur basée sur la requête HTTP.

Quant à votre question: Non, Apple pourrait probablement (on ne peut jamais savoir avec certitude) ne pas rejeter votre application juste à cause de l'utilisation des APN pour discuter. Mais note (comme les autres ont dit déjà): Les messages entre deux utilisateurs deviendront "perdus" s'ils interagissent trop souvent - voir le lien Roman Barzyczak vous a donné.


1 commentaires

J'ai tendance à être en désaccord, alors qu'il est vrai que la livraison n'est pas garantie, certaines applications réussies utilisent une notification push à cet effet. Voir ici blog.parse.com/2013 / 02/01 / ...



1
votes

J'aime cette Réponse ici.

Essayez d'abord d'utiliser une solution d'APNS uniquement. Faites de vos notifications push apatrides (elles servent que «hey vous avez des nouvelles choses sur le serveur»).
Ainsi, lorsque le client reçoit une notification push, il demande au serveur de nouvelles données (messages ou autres choses).

Utilisez Onesignal pour simplifier le code qui envoie des notifications push (à partir de l'arrière-plan). Si un utilisateur de votre application reçoit un message après 10 secondes, il ne se souciait pas si vous avez utilisé TCP, Socket.IO ou XMPP ...

Même les messages de WhatsApp peuvent prendre quelques secondes pour arriver.

Une application de chat n'est pas un jeu en temps réel. Un retard de quelques secondes sera acceptable par les utilisateurs finaux.


0 commentaires