Aperçu
Ce guide explique comment implémenter un flux d'achat intégré complet à l'aide du SDK Horizon Platform de Meta pour les achats côté client et de VerifyPurchase()l'API de brainCloud pour la vérification côté serveur. Cette intégration garantit des transactions sécurisées et validées par le serveur, empêchant ainsi la fraude et les achats non autorisés.
Prérequis
Kits de développement logiciel (SDK) requis
Unity 2022.3.15f1 ou version ultérieure
Kit de développement logiciel (SDK) de la plateforme Meta XR (version UPM)
kit de développement logiciel (SDK) BrainCloud Unity
Comptes requis
Compte développeur Meta avec application configurée
Compte brainCloud avec configuration de l'application et du produit
Appareil Meta Quest pour les tests
Étape 1 : Configuration du compte développeur Meta
1.1 Créez/Configurez votre application
Accédez au tableau de bord Meta Developer
Créez une nouvelle application ou sélectionnez une application existante
Notez l'identifiant de votre application ; vous en aurez besoin pour la configuration Unity.
1.2 Activer les services d'achat intégrés
Allez à
Development -> All Platform ServicesCliquez
Add-ons -> Add ServiceActivez la fonctionnalité IAP pour votre application
1.3 Ajouter des utilisateurs de test
Naviguer vers
Development -> Test UsersAjouter des comptes d'utilisateurs de test pour les tests de développement
Ces utilisateurs peuvent effectuer des achats tests sans frais réels.
1.4 Configurer les références produits
Accédez à
Monetization -> Add-onsla section correspondante dans le tableau de bord de votre application.Cliquez
Create Add-onPour chaque produit, configurez :
SKU (ex. :
test_sku_1) - doit correspondre au code UnityNom - nom affiché aux utilisateurs
Description - description du produit
Prix - fixer le prix en USD ou dans d'autres devises
Type - Consommable, Durable (Non consommable)
Attribuer un module complémentaire - Attribuer des utilisateurs de test au module complémentaire
Important : Les identifiants SKU doivent correspondre exactement entre le tableau de bord Meta, le code Unity et la configuration brainCloud.
1.5 Vérification complète de l'utilisation des données (DUC)
Allez à
Requirements -> Data Use CheckupAjouter les autorisations requises :
Identifiant utilisateur - requis pour l'authentification
Achats intégrés - requis pour les transactions d'achats intégrés
Remplissez et soumettez le formulaire DUC
1.6 Configurer les métadonnées de l'application (facultatif)
Si vous utilisez du contenu téléchargeable (DLC) :
Allez à
Distribution -> App Submissions -> App Metadata -> SpecsIndiquer que l'application nécessite une connexion Internet
Remarque : Cette étape s’applique uniquement si vous utilisez du contenu téléchargeable ou des fichiers de ressources. Pour les consommables et non-consommables standard des achats intégrés, vous pouvez ignorer cette étape.
Remarque : Cette étape s’applique uniquement si vous utilisez du contenu téléchargeable ou des fichiers de ressources. Pour les consommables et non-consommables standard des achats intégrés, vous pouvez ignorer cette étape.
Étape 2 : Configuration du projet Unity
2.1 Installer le SDK de la plateforme Meta XR
Téléchargements Open Meta XR
Trouver le kit de développement logiciel (SDK) de la plateforme Meta XR (UPM)
Cliquez sur Ajouter à mes ressources (redirige vers l'Asset Store)
Dans Unity, ouvrez
Window -> Package ManagerBasculer le menu déroulant vers
My AssetsRecherchez le kit de développement logiciel (SDK) de la plateforme Meta XR et cliquez
InstallSi une mise à jour vous est proposée
OVRPlugin, acceptez-la et redémarrez Unity.
2.2 Installer le SDK Unity de brainCloud
Ajouter le paquet brainCloud via le gestionnaire de paquets
2.3 Configurer les paramètres de la plateforme Oculus
Ouvrir
Meta -> Platform -> Edit Settings -> OculusSous
Platform Settingsla section :
2.4 Ajouter un script : définir un symbole (facultatif)
Ouvrir
Edit -> Project Settings -> PlayerSélectionnez
Androidl'onglet PlateformeDévelopper
Other SettingsTrouver
Scripting Define SymbolsAjouter
OCULUS_PLATFORM_SDK(séparés par des virgules s'il existe d'autres symboles)
Ce symbole de définition permet la compilation conditionnelle du code du SDK Meta Platform et autorise le mode de simulation lorsque le SDK n'est pas disponible.
2.5 Passer à la cible de compilation Android
Ouvrir
File -> Build SettingsSélectionner
Androidla plateformeCliquez
Switch PlatformConfigurer les paramètres de compilation Android :
Niveau d'API minimal : Android 10.0 (niveau d'API 29) ou supérieur
Niveau d'API cible : le plus récent disponible
Étape 3 : Configuration de brainCloud
3.1 Créer une application brainCloud
Connectez-vous au portail brainCloud
Créer une nouvelle application ou sélectionner une application existante
Veuillez noter les informations d'identification suivantes
Core App Info -> Application IDs; elles seront utilisées dans le code de votre projet Unity :ID de l'application
Secret de l'application
Accédez à
Oculusl'onglet correspondant dans laConfigure Platformssection, puis saisissez votre identifiant Meta App et votre clé secrète d'application dans les champs prévus à cet effet.
3.2 Ajouter des définitions de produit
Pour chaque produit configuré dans Meta Dashboard :
Allez à
Design -> Marketplace -> ProductsCliquez
Create ProductConfigurer le produit :
ID de l'élément - identifiant interne brainCloud
Titre - nom du produit
Description - description du produit
Type : Consommable, non consommable ou abonnement
Monnaie virtuelle - monnaie virtuelle à offrir lors de l'achat (facultatif)
Associer à la référence Meta :
Sous
Add PlatformSélectionnez la boutique Meta Horizon
Saisissez la référence exacte (SKU) depuis le tableau de bord Meta.
Associer l'identifiant produit brainCloud à la méta-référence.
Important : Pour que la vérification réussisse, la référence SKU dans Meta Dashboard doit correspondre exactement à la référence SKU associée dans brainCloud.
Étape 4 : Exemples de code d’implémentation
4.1 Méthodes MetaPlatform
Principales responsabilités :
Initialiser le kit de développement logiciel (SDK) de la plateforme Meta
Vérifier les droits de l'utilisateur
Récupérer l'identifiant de l'utilisateur connecté et la preuve (nonce)
Lancer le processus de paiement
Gérer les rappels de succès/échec d'achat
Articles de code critiques :
Initialisation :
void Start()
{
#if OCULUS_PLATFORM_SDK
Core.AsyncInitialize().OnComplete(m => {
if (m.IsError) {
Debug.LogError("Échec de l'initialisation de la plateforme Meta : " + m.GetError().Message);
} else {
Entitlements.IsUserEntitledToApplication().OnComplete(e => {
if (!e.IsError) {
GetLoggedInUser();
}
});
}
});
#else
// Mode simulation pour les tests sans SDK
RefreshAuthentication();
#endif
}
Flux d'achat :
public void LaunchPurchaseFlow(string sku)
{
#if OCULUS_PLATFORM_SDK
IAP.LaunchCheckoutFlow(sku).OnComplete(m => {
if (!m.IsError) {
var purchase = m.Data;
// Émettre un événement de succès avec les données du reçu
OnPurchaseSuccess?.Invoke(
purchase.Sku,
purchase.ID,
_loggedInUserId
);
}
});
#endif
}
4.2 Méthodes BrainCloud
Principales responsabilités :
Initialiser le wrapper SDK brainCloud
Authentifier l'utilisateur avec ses identifiants Oculus
Appelez
VerifyPurchase()avecmetaHorizonl'identifiant du magasinGérer la réussite/l'échec de la vérification
Sections de code critiques : Authentification
Oculus
public void AuthenticateOculus(string userId, string nonce)
{
_bc.AuthenticateOculus(userId, nonce, true,
(response, cbObject) => {
Debug.Log("Authentification Braincloud réussie");
OnStatusChanged?.Invoke("Authentification Braincloud réussie");
},
(status, code, error, cbObject) => {
Debug.LogError($"Échec de l'authentification : {status} {code} {error}");
}
);
}
Vérification d'achat
:
public void VerifyMetaPurchase(string sku, string transactionId, string metaUserId)
{
// Construction des données de reçu pour le magasin metaHorizon
Dictionary<string, object> receiptData = new Dictionary<string, object>();
receiptData["userId"] = metaUserId;
receiptData["sku"] = sku;
receiptData["transactionId"] = transactionId;
receiptData["consumeOnVerify"] = true; // true pour les consommables
string receiptJson = JsonWriter.Serialize(receiptData);
_bc.AppStoreService.VerifyPurchase(
"metaHorizon", // ID de la boutique
receiptJson, // Données du reçu JSON
(response, cbObject) => {
Debug.Log("Achat vérifié ! Récompenses accordées.");
OnStatusChanged?.Invoke("Achat vérifié");
},
(status, code, error, cbObject) => {
Debug.LogError($"Échec de la vérification : {status} {code} {error}");
}
);
}
Étape 5 : Tests
5.1 Tests de l'appareil Quest
Prérequis :
Appareil Quest en mode développeur
L'utilisateur de test s'est connecté à Quest
Configuration de la connexion USB ou ADB sans fil
Étapes du test :
Créer et déployer sur un appareil Quest
Lancer l'application sur Quest
Vérifier l'initialisation de Meta Platform dans les journaux
Flux d'authentification de test
Lancer un achat test
Flux d'achat complet
Vérifier les journaux de vérification brainCloud
Consultez les récompenses accordées sur le portail brainCloud.
Conseil : Cette DllNotFoundException: ovrplatform assemblyerreur indique que la ovrplatformbibliothèque native n'est pas disponible pour l'environnement d'exécution actuel, car les bibliothèques natives de la plateforme Meta sont exclusivement compatibles avec les plateformes Windows et Android.
Pour un exemple de code complet, veuillez consulter notre dépôt GitHub Unity ici .





