首先需要去官方下载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 update
private void Awake()
{
instance = this;
}
void Start()
{
AppsFlyer.initSDK("your Key", "你的包名", this);
AppsFlyer.startSDK();
}
// Update is called once per frame
void 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_ANDROID
var purchaseData = (string)receiptPayload["json"];
var signature = (string)receiptPayload["signature"];
azf.validateAndSendInAppPurchase(
"你的谷歌支付秘钥",
signature,
purchaseData,
price,
currency,
null,
this);
#endif
}
至此结束