Je sais comment procéder dans une version récente d'iMessage/Messages, mais je ne peux pas me prononcer sur d'autres applications, car il existe de nombreuses façons de procéder.
Le protocole iMessage permet aux serveurs d'Apple de suivre, hors bande, l'"ID du dernier message" pour chaque ID de conversation. Cette fonction est distincte de la communication de bout en bout entre les parties. Le "..." apparaît lorsque l'application cliente constate que l'ID du dernier message qu'elle a reçu n'est PAS le même que l'ID du dernier message de la conversation selon les serveurs d'Apple.
L'APNS n'est pas utilisé pour cela, à moins qu'il ne s'agisse d'un développement très récent.
Si, à un moment donné, l'autre ou les autres parties cessent de préparer un nouveau message, l'identifiant détenu par les serveurs d'Apple correspondra au dernier message envoyé. Dès que l'application cliente constate que les identifiants correspondent à nouveau, le "..." disparaît.
Autre point : Cela se produira UNIQUEMENT avec les "bulles bleues", puisque le SMS ne fournit pas de canal latéral pour la communication avec l'autorité centrale (c'est-à-dire les serveurs d'Apple).