Avertissement : Google Play Instant ne sera plus disponible. À partir de décembre 2025, les Applis instantanées ne pourront plus être publiées sur Google Play, et toutes les API Instant des services Google Play ne fonctionneront plus. Play ne proposera plus d'Applis instantanées aux utilisateurs, quel que soit le mécanisme utilisé.
Nous apportons cette modification dans le cadre de nos investissements continus pour améliorer l'écosystème depuis l'introduction de Google Play Instant, et elle tient compte des retours des développeurs.
Pour favoriser la croissance du nombre d'utilisateurs, nous encourageons les développeurs à orienter les utilisateurs vers leur application ou leur jeu habituels à l'aide de liens profonds les redirigeant vers des parcours ou des fonctionnalités spécifiques, le cas échéant.
Le plug-in Google Play Instant pour Unity configure votre projet Unity afin de créer une version instantanée de votre jeu. Ce guide explique comment installer et utiliser ce plug-in.
Télécharger et importer le plug-in
Le plug-in fait partie des plug-ins Google Play pour Unity. Pour importer le plug-in, procédez comme suit :
- Téléchargez la dernière version à partir des versions des plug-ins Google Play pour Unity.
- Importez le fichier
.unitypackageen sélectionnant l'option de menu de l'IDE Unity Assets > Import package > Custom Package (Éléments > Importer un package > Package personnalisé), puis en important tous les éléments.
Fonctionnalités de l'éditeur Unity
Importez le plug-in pour ajouter un sous-menu Google > Play Instant dans Unity. Ce sous-menu propose les options suivantes.
Paramètres de compilation
Ouvre une fenêtre qui permet de basculer entre les modes de développement Installed (Installé) et Instant (Instantané). Le passage au mode Instant apporte les modifications suivantes :
- Crée un symbole de définition de script appelé
PLAY_INSTANT, qui peut être utilisé pour la création de scripts avec#if PLAY_INSTANTet#endif. - Gère les mises à jour du fichier AndroidManifest.xml pour certaines modifications requises, telles que android:targetSandboxVersion.
Paramètres du lecteur
La boîte de dialogue Player Settings (Paramètres du lecteur), illustrée à la figure 1, affiche des suggestions pour vous aider à optimiser la compatibilité avec Google Play Instant, à développer des API graphiques plus compatibles et à réduire la taille de votre APK.
Ces paramètres du lecteur sont divisés en paramètres Required (Obligatoires) et Recommended (Recommandés). Si un paramètre comporte un bouton Update (Mettre à jour) correspondant, cliquez dessus pour définir la valeur de votre choix.
Pour réduire davantage la taille de l'APK, ouvrez le gestionnaire de paquets Unity et supprimez tous les paquets inutilisés.
Déploiement rapide
Le déploiement rapide peut réduire la taille d'une appli instantanée basée sur Unity en regroupant certains éléments dans un AssetBundle. Lorsque vous utilisez le déploiement rapide, le moteur de jeu Unity et un écran de chargement sont regroupés dans un APK d'appli instantanée. Une fois l'appli instantanée lancée, elle récupère l'AssetBundle à partir d'un serveur.
Gérer les workflows d'installation
L'objectif de nombreuses applis instantanées est de permettre aux utilisateurs de tester l'application avant d'installer la version complète. Le plug-in Google Play Instant pour Unity fournit des API permettant d'afficher une boîte de dialogue d'installation du Play Store et de transférer l'état de l'appli instantanée vers l'appli installée.
Afficher une invite d'installation
Une appli instantanée avec un bouton Install (Installer) peut afficher une boîte de dialogue d'installation du Play Store en appelant les éléments suivants à partir d'un gestionnaire de clics sur le bouton d'installation :
Google.Play.Instant.InstallLauncher.ShowInstallPrompt();
La méthode ShowInstallPrompt() comporte une surcharge qui autorise un ou plusieurs des éléments suivants :
- Déterminer si l'utilisateur annule le processus d'installation. Remplacez
onActivityResult()dans l'activité principale de l'appli instantanée et recherchezRESULT_CANCELEDsur lerequestCodespécifié. - Transmettre une chaîne de référence d'installation via le paramètre
referrer. - Transmettre l'état de la session de jeu actuelle via
PutPostInstallIntentStringExtra().
Ces éléments sont illustrés dans l'exemple suivant :
using Google.Play.Instant;
...
const int requestCode = 123;
var sessionInfo = /* Object serialized as a string representing player's current location, etc. */;
using (var activity = UnityPlayerHelper.GetCurrentActivity())
using (var postInstallIntent = InstallLauncher.CreatePostInstallIntent(activity))
{
InstallLauncher.PutPostInstallIntentStringExtra(postInstallIntent, "sessionInfo", sessionInfo);
InstallLauncher.ShowInstallPrompt(activity, requestCode, postInstallIntent, "test-referrer");
}
Si l'utilisateur termine l'installation de l'application, le Play Store relance l'application à l'aide du postInstallIntent fourni. L'application installée peut récupérer une valeur définie dans le postInstallIntent à l'aide des éléments suivants :
var sessionInfo = InstallLauncher.GetPostInstallIntentStringExtra("sessionInfo");
Remarques :
- Les extras inclus dans le
postInstallIntentpeuvent ne pas atteindre l'application installée si l'utilisateur installe l'application, mais annule le lancement post-installation. La transmission d'extras d'intent est plus adaptée à la conservation de l'état de la session active qu'à la conservation de l'état persistant. Pour ce dernier, consultez l'API Cookie. - N'importe qui peut créer un intent avec des champs supplémentaires pour lancer l'application installée. Par conséquent, si la charge utile accorde quelque chose de valeur, concevez-la de sorte qu'elle ne puisse être utilisée qu'une seule fois, signez-la de manière cryptographique et vérifiez la signature sur un serveur.
Utiliser l'API Cookie
L'API Cookie fournit des méthodes permettant de transmettre un cookie (par exemple, l'ID du joueur ou les données de niveau terminé) d'une appli instantanée à l'appli installée correspondante. Contrairement aux postInstallIntent extras, l'état du cookie est disponible même si l'utilisateur ne lance pas immédiatement l'appli installée. Par exemple, une appli instantanée peut appeler le code suivant à partir d'un gestionnaire de clics sur le bouton d'installation :
using Google.Play.Instant;
...
var playerInfo = /* Object serialized as a string representing game levels completed, etc. */;
var cookieBytes = System.Text.Encoding.UTF8.GetBytes(playerInfo);
try
{
var maxCookieSize = CookieApi.GetInstantAppCookieMaxSize();
if (cookieBytes.Length > maxCookieSize)
{
UnityEngine.Debug.LogErrorFormat("Cookie length {0} exceeds limit {1}.", cookieBytes.Length, maxCookieSize);
}
else if (CookieApi.SetInstantAppCookie(cookieBytes))
{
UnityEngine.Debug.Log("Successfully set cookie. Now display the app install dialog...");
InstallLauncher.ShowInstallPrompt();
}
else
{
UnityEngine.Debug.LogError("Failed to set cookie.");
}
}
catch (CookieApi.InstantAppCookieException ex)
{
UnityEngine.Debug.LogErrorFormat("Failed to set cookie: {0}", ex);
}
Si l'utilisateur termine l'installation de l'application, l'application installée peut récupérer les données du cookie à l'aide du code suivant :
var cookieBytes = CookieApi.GetInstantAppCookie();
var playerInfoString = System.Text.Encoding.UTF8.GetString(cookieBytes);
if (!string.IsNullOrEmpty(playerInfoString))
{
// Initialize game state based on the cookie, e.g. skip tutorial level completed in instant app.
}