Le moyen le plus simple d'ajouter des pièces jointes Nearby Notifications est de passer par <ph type="x-smartling-placeholder"></ph> Tableau de bord des balises Google Vous pouvez également utiliser le <ph type="x-smartling-placeholder"></ph> API Proximity Beacon et au format de données de pièce jointe décrit ci-dessous.
Les pièces jointes pour la fonctionnalité Nearby Notifications doivent utiliser le
Espace de noms com.google.nearby
et un type composé de la langue à deux lettres
et le suffixe -debug
facultatif.
Les pièces jointes doivent être au format JSON. Exemple :
{
"title": "Example",
"url": "https://www.example.com"
}
Le format JSON permet éventuellement un ciblage plus spécifique, comme indiqué ci-dessous:
{
"title": "Example",
"url": "https://www.example.com",
"targeting":[
{
"startDate": "2017-01-01",
"endDate": "2017-01-31",
"startTimeOfDay": "9:00",
"endTimeOfDay": "17:00",
"anyOfDaysOfWeek": [1, 2, 3, 4, 5, 6, 7],
"anyOfAppInstallStates": ["INSTALLED", "NOT_INSTALLED"]
}
]
}
Où :
- title : titre du contenu La longueur de
title
doit être inférieure comporter moins de 40 caractères et doit comporter moins de 50 caractères. Cela devrait idéalement donner une incitation à l'action à l'utilisateur. Par exemple,Order with your phone, skip the line
,Set up your thermostat
ouLearn more about sea otters
. - url : URL de l'application, du site Web ou du service.
- ciblage : règles facultatives permettant de limiter la visibilité des notifications. selon le contexte de l'appareil.
Formats d'URL
La fonctionnalité Notifications de proximité est compatible avec trois formats d'URL:
URL Web
Une URL Web est exactement cela, il s'agit simplement d'une URL normale. Lorsqu'une URL Web est reçue, le l'utilisateur est invité à ouvrir l'URL dans le navigateur par défaut. Aucune appli spéciale est requise. Les URL Web doivent utiliser le protocole HTTPS et être formatées en tant que URL normale:
https://www.example.com
Si votre URL Web ne déclenche pas de notification, voici les causes les plus probables:
- Utiliser HTTP au lieu de HTTPS
- Les liens vers une plate-forme de téléchargement d'applications telle que play.google.com ne sont pas autorisés. La page Web doit être autonome et proposer des informations ou des actions utiles directement sur votre page de destination.
Intention de l'application
Les URL d'intent d'application sont utilisées pour déclencher un intent dans une application. Lorsqu'un intent d'application l'URL est reçue, l'application associée répond aux paramètres contenus dans le URL, à condition que le filtre d'intent d'application correspondant soit présent. Si l'application n'est pas installé, l'utilisateur est redirigé vers le Play Store pour installer l'application. Après que l'application est installée, ils peuvent alors la lancer et accéder à la fonctionnalité. spécifiée par le développeur. Les URL d'intention d'application sont mises en forme comme suit:
intent://host/path#Intent;scheme=yourscheme;package=com.yourapp.ui;end;
Pour en savoir plus sur la mise en forme des URL d'intent, consultez Intents Android avec Chrome Notez que les extras d'intent ne sont pas transmis.
Vous pouvez également construire l'URL correctement en créant un intent, puis en utilisant
intent.toUri(Intent.URI_INTENT_SCHEME)
,
comme indiqué ici:
Intent intent = new Intent()
.setData(new Uri.Builder()
.scheme("yourscheme")
.authority("host")
.appendPath("path")
.build())
.setPackage("com.yourapp.ui");
Log.i(TAG, "Use this intent url: " + intent.toUri(Intent.URI_INTENT_SCHEME));
Intent d'application de forme libre
Utilisez cette option pour les intents d'application qui ne peuvent pas correspondre au schéma, au chemin et le format du nom du package. N'utilisez cette option que si vous êtes certain que l'URL de votre intent est correctement formaté.
Vous pouvez choisir de rediriger l'utilisateur vers une URL spécifiée plutôt que vers le Play Store dans l'événement indiquant que l'application n'est pas installée en ajoutant S.browser_fallback_url à l'intent:
intent://host/path#Intent;scheme=yourscheme;package=com.yourapp.ui; \
S.browser_fallback_url=http%3A%2F%2Fm.yoursite.com%2Fpath%2F%;end;
Ciblage contextuel
Règles
La fonctionnalité Notifications de proximité prend en charge quatre règles de ciblage:
Date
dateStart
et dateEnd
permettent de spécifier la plage de dates
la pièce jointe soit visible, au format ISO 8601.
L'exemple suivant présente une notification en janvier 2017 :
{
"title": "January 2017",
"url": "https://www.example.com",
"targeting":[
{
"startDate": "2017-01-01",
"endDate": "2017-01-31"
}
]
}
Heure de la journée
"heureDeDébutDeJour" et "timeOfDayEnd" servent à spécifier la période quotidienne dans dans laquelle la pièce jointe est visible, au format ISO 8601. L'exemple suivant montre une notification quotidienne de 9h à 17h:
{
"title": "Work time",
"url": "https://www.example.com",
"targeting":[
{
"startTimeOfDay": "9:00",
"endTimeOfDay": "17:00"
}
]
}
Jour de la semaine
"anyOfDaysOfWeek" (N'importe quel jour de la semaine) permet de spécifier les jours de la semaine au cours desquels pièce jointe est visible. Le format est ISO 8601, de 1(lundi) à 7(dimanche). L'exemple suivant illustre une notification les samedis et dimanches:
{
"title": "Weekends",
"url": "https://www.example.com",
"targeting":[
{
"anyOfDaysOfWeek": [6, 7]
}
]
}
État d'installation de l'application
"anyOfAppInstallStates" permet de définir la visibilité des pièces jointes en fonction de l'application les différents états d'installation. Cela ne fonctionne que pour l'URL Intent d'application. Les éléments suivants : exemple affiche une notification lorsque l'application n'est pas installée.
{
"title": "App not installed",
"url": "intent://host/path#Intent;package=com.example",
"targeting":[
{
"anyOfAppInstallStates": ["NOT_INSTALLED"]
}
]
}
Combinaison de règles
Chaque pièce jointe peut être associée à plusieurs règles de ciblage. Règles du un même objet de ciblage sont reliés par l'opérateur AND. L'exemple suivant affiche une notification de 9 h à 17 h les samedis et dimanches.
{
"title": "Weekend and work time",
"url": "https://www.example.com",
"targeting":[
{
"startTimeOfDay": "9:00",
"endTimeOfDay": "17:00"
"anyOfDaysOfWeek": [6, 7]
}
]
}
Les règles des différents objets de ciblage sont associées à l'opérateur OR. Les éléments suivants : exemple montre une notification de 9h à 17h tous les jours du lundi au vendredi, ainsi que toute la journée les samedis et dimanches.
{
"title": "Weekend or work time",
"url": "https://www.example.com",
"targeting":[
{
"anyOfDaysOfWeek": [6, 7]
},
{
"startTimeOfDay": "9:00",
"endTimeOfDay": "17:00"
}
]
}
Ajouter un filtre d'intent à votre application
Les applications doivent être configurées de façon à gérer le schéma, l'hôte et le chemin d'accès de l'URL donnée.
Pour ce faire, vous devez ajouter un élément dans votre fichier AndroidManifest.xml pour déclarer
<intent-filter>
que
correspond au schéma, à l'hôte et au chemin d'accès, et marquez-le comme consultable avec une catégorie
comme indiqué ci-dessous:
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<!-- both categories below are required -->
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:host="host"
android:pathPrefix="/path"
android:scheme="yourscheme"/>
</intent-filter>
Pour en savoir plus, consultez Gérer les liens vers une application