首先需要去官方下载Appsflyer的UnityPackage
链接在这afPackage
然后导入
导入完成
引入此段代码
using AppsFlyerSDK;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class AppflysManager : MonoBehaviour
{public static AppflysManager instance;// Start is called before the first frame updateprivate void Awake(){instance = this;}void Start(){AppsFlyer.initSDK("your Key", "你的包名", this);AppsFlyer.startSDK();}// Update is called once per framevoid Update(){}public void dadian(string dingyi,string mzi,string zhi) {Dictionary<string, string>eventValues = new Dictionary<string, string>();eventValues.Add("number", "1");AppsFlyer.sendEvent(dingyi, eventValues);}}
然后把他挂在到一个有DontDestroyOnLoad(this)的物体上 没有的话就自己在awake里面加一个
接下来需要引入
这个物体 Key Id和上面一样
然后下面就是埋点支付的教程了
在In app 的这个方法里
public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs purchaseEvent){}
添加
public AppsFlyerAndroid azf;void Start(){azf = new AppsFlyerAndroid();
}
public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs purchaseEvent){string prodID = purchaseEvent.purchasedProduct.definition.id;string price = purchaseEvent.purchasedProduct.metadata.localizedPrice.ToString();string currency = purchaseEvent.purchasedProduct.metadata.isoCurrencyCode;string receipt = purchaseEvent.purchasedProduct.receipt;var recptToJSON = (Dictionary<string, object>)AFMiniJSON.Json.Deserialize(purchaseEvent.purchasedProduct.receipt);var receiptPayload = (Dictionary<string, object>)AFMiniJSON.Json.Deserialize((string)recptToJSON["Payload"]);var transactionID = purchaseEvent.purchasedProduct.transactionID;
#if UNITY_ANDROIDvar purchaseData = (string)receiptPayload["json"];var signature = (string)receiptPayload["signature"];azf.validateAndSendInAppPurchase("你的谷歌支付秘钥",signature,purchaseData,price,currency,null,this);
#endif
}
至此结束