Passer au contenu

Personnalisation du module Appcelerator Titanium

Notifications push au premier plan

Anchor link to

Par défaut, le plugin Pushwoosh n’affiche pas les notifications au premier plan et déclenche automatiquement le callback onPushOpened. Ceci est contrôlé par les métadonnées PW_BROADCAST_PUSH sur Android :

tiapp.xml
<?xml version="1.0" encoding="UTF-8"?>
<ti:app xmlns:ti="http://ti.appcelerator.org">
<android xmlns:android="http://schemas.android.com/apk/res/android">
<manifest>
<application>
<!-- Set to false if you want to disable automatic push open in foreground -->
<meta-data android:name="PW_BROADCAST_PUSH" android:value="true"/>
</application>
</manifest>
</android>
</ti:app>

Et par la clé Pushwoosh_ALERT_TYPE dans le fichier Info.plist sur iOS :

tiapp.xml
<?xml version="1.0" encoding="UTF-8"?>
<ti:app xmlns:ti="http://ti.appcelerator.org">
<ios>
<plist>
<dict>
<!-- Set value to ALERT or BANNER to change notification appearance in foreground -->
<key>Pushwoosh_ALERT_TYPE</key>
<string>NONE</string>
</dict>
</plist>
</ios>
</ti:app>

Son personnalisé pour les notifications push

Anchor link to

Pour activer des sons personnalisés pour les notifications push sur Android, placez les échantillons sonores dans le dossier app/platform/android/res/raw. Les sons seront accessibles via le menu déroulant Sound du panneau Send Push.

Icône personnalisée pour les notifications push

Anchor link to

L’icône de notification push peut être personnalisée sur Android localement en utilisant pw_notification comme nom de ressource pour cette icône ; ou à distance en référençant n’importe quel nom de ressource dans le paramètre Icon du panneau Send Push. Les ressources Android doivent être placées dans le dossier app/platform/android/res/

Données push personnalisées

Anchor link to

Les données push personnalisées peuvent être envoyées en utilisant le paramètre Action dans le panneau Send Push. Pour recevoir et traiter ces données, utilisez le code suivant :

pushwoosh.onPushOpened(function(e) {
var customData = e.extras;
// handle custom push data
});

Callback de réception de push

Anchor link to

Si l’application est enregistrée pour les notifications push et n’est pas fermée, l’événement de livraison de la notification peut être géré en utilisant :

pushwoosh.onPushReceived(function(e) {
var message = e.message;
var foreground = e.foreground;
var customData = e.extras;
var raw = e.data;
// handle push receive here
});

Pour iOS, activez les modes d’arrière-plan (Background Modes) :

tiapp.xml
<?xml version="1.0" encoding="UTF-8"?>
<ti:app xmlns:ti="http://ti.appcelerator.org">
<ios>
<plist>
<dict>
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>
</dict>
</plist>
</ios>
</ti:app>

Pièce jointe multimédia pour iOS 10+

Anchor link to

Vous devez ajouter une Extension de Service de Notification (Notification Service Extension) au projet XCode. Le problème est que Titanium n’expose pas l’accès au projet XCode et le compile en arrière-plan.
Consultez ce fil de discussion pour une solution possible : https://github.com/Pushwoosh/pushwoosh-appcelerator-titanium/issues/45

Partagez vos retours avec nous

Anchor link to

Vos retours nous aident à créer une meilleure expérience, nous serions donc ravis de vous entendre si vous rencontrez des problèmes lors du processus d’intégration du SDK. Si vous rencontrez des difficultés, n’hésitez pas à nous faire part de vos réflexions via ce formulaire.