Hướng dẫn di chuyển từ v4
⚠️ There are breaking changes when migrating to Unity v5. This includes:
- Tên lớp mới
- Tên gói Android mới
com.appsflyer.GetDeepLinkingActivity
không tồn tại trong Unity v5. Lớp này không còn cần thiết cho liên kết sâu- unity-jar-resolver được sử dụng để nhập tài sản
Loại bỏ trình cắm cũ
- Loại bỏ tất cả các mục có trong
AppsFlyerUnityPlugin_v4.x.x.unitypackage
Dưới đây là danh sách tất cả các tệp tin được bao gồm:
Assets/Plugins/AppsFlyer.cs
Assets/Plugins/AFInAppEvents.cs
Assets/Plugins/AppsFlyerTrackerCallbacks.cs
---
Assets/Plugins/Android/AppsFlyerAndroidPlugin.jar
Assets/Plugins/Android/AF-Android-SDK.jar
Assets/Plugins/Android/installreferrer-1.0.aar
---
Assets/Plugins/iOS/AppsFlyerAppController.mm
Assets/Plugins/iOS/AppsFlyerCrossPromotionHelper.h
Assets/Plugins/iOS/AppsFlyerDelegate.h
Assets/Plugins/iOS/AppsFlyerDelegate.mm
Assets/Plugins/iOS/AppsFlyerLinkGenerator.h
Assets/Plugins/iOS/AppsFlyerShareInviteHelper.h
Assets/Plugins/iOS/AppsFlyerTracker.h
Assets/Plugins/iOS/AppsFlyerWrapper.h
Assets/Plugins/iOS/AppsFlyerWrapper.mm
Assets/Plugins/iOS/libAppsFlyerLib.a
Khởi tạo trình cắm mới
- Thêm .unitypackage mới, có thể được tìm thấy trong trình cắm mới.
- Có hai tùy chọn khởi tạo chính:
- Loại bỏ tất cả mã khởi tạo cũ và sử dụng đối tượng .prefab mới.
- Cập nhật mã khởi tạo hiện tại của bạn.
1. loại bỏ tất cả mã khởi tạo cũ
Để thực hiện việc này, chỉ cần loại bỏ đối tượng trò chơi hoặc tất cả mã appsflyer trong đối tượng trò chơi nơi sdk đang được khởi tạo.
Sau đó làm theo hướng dẫn khởi tạo cho trình cắm mới.
2. Cập nhật mã khởi tạo cũ bằng mã mới
Thay thế mã khởi tạo cũ:
void Start () {
AppsFlyer.setAppsFlyerKey("K2***********99");
/* AppsFlyer.setIsDebug(true); */
#if UNITY_IOS
AppsFlyer.setAppID("41******85");
AppsFlyer.trackAppLaunch();
AppsFlyer.getConversionData();
#elif UNITY_ANDROID
AppsFlyer.setAppID ("com.appsflyer.test");
AppsFlyer.init("K2**********99","AppsFlyerTrackerCallbacks");
#endif
}
Với mã khởi tạo mới:
using AppsFlyerSDK;
public class AppsFlyerObjectScript : MonoBehaviour , IAppsFlyerConversionData
{
void Start()
{
/* AppsFlyer.setDebugLog(true); */
AppsFlyer.init-sdk("devkey", "appID", this);
AppsFlyer.startSDK();
}
// .....
}
Quan trọng
Nếu bạn cũng đang triển khai dữ liệu chuyển đổi và/hoặc liên kết sâu thì bạn cần khởi tạo SDK bằng giao diện IAppsFlyerConversionData
.
Cập nhật logic liên kết sâu
Unity v5 không bao gồm com.appsflyer.GetDeepLinkingActivity
.
Lớp này đã được sử dụng trong Unity v4 như một giải pháp thay thế cho liên kết sâu.
Nếu bạn đang sử dụng lớp này để liên kết sâu, hãy nhớ xóa GetDeepLinkingActivity khỏi tệp tin AndroidManifest.xml.
Cập nhật Mã khác
Đây là danh sách tất cả API cũ và API mới.
API
- setAppsFlyerKey
- trackAppLaunch
- setAppID
- getConversionData
- init
- loadConversionData
- setCurrencyCode
- Thiết lập ID người dùng Customer User ID
- setAdditionalData
- trackCrossPromoteImpression
- setMinTimeBetweenSessions
- setHost
- setUserEmails
- setResolveDeepLinkURLs
- setOneLinkCustomDomain
- trackRichEvent
- stopTracking
- setIsDebug
- getAppsFlyerId
- setDeviceTrackingDisabled
- setAppInviteOneLinkID
- generateUserInviteLink
- trackAndOpenStore
- setIsSandbox
- registerUninstall
- setCollectIMEI
- setCollectAndroidID
- setImeiData
- updateServerUninstallToken
- setAndroidIdData
- setPreinstallAttribution
- validate-receipt (ios)
- validate-receipt (android)
- createValidateInAppListener
- handlePushNotification
- enableUninstallTracking
- handleOpenUrl
- getHost
- loadConversionData
- setGCMProjectNumber
- setShouldCollectDeviceName
Khởi tạo SDK
// Old API's
AppsFlyer.setAppsFlyerKey(string key);
AppsFlyer.trackAppLaunch();
AppsFlyer.setAppID(string appleAppId);
AppsFlyer.getConversionData ();
AppsFlyer.init(string devKey);
AppsFlyer.init(string devKey, string callbackObject);
AppsFlyer.loadConversionData(string callbackObject);
// New API's
AppsFlyer.initSDK(string key, string app_id); // without deeplinking/conversion data
AppsFlyer.initSDK(string key, string app_id, MonoBehaviour gameObject); // with deeplinking/conversion data
AppsFlyer.startSDK();
API không thay đổi
AppsFlyer.setCurrencyCode(string currencyCode);
AppsFlyer.setCustomerUserID(string customerUserID);
AppsFlyer.setAdditionalData(Dictionary<string, string> extraData);
AppsFlyer.trackCrossPromoteImpression(string appId, string campaign);
AppsFlyer.setMinTimeBetweenSessions(int seconds);
AppsFlyer.setHost(string hostPrefixName, string hostName);
AppsFlyer.setUserEmails(EmailCryptType cryptType, params string[] userEmails);
AppsFlyer.setResolveDeepLinkURLs(params string[] userEmails);
AppsFlyer.setOneLinkCustomDomain(params string[] domains);
AppsFlyer.setIsDebug(bool isDebug);
AppsFlyer.getAppsFlyerId();
AppsFlyer.setAppInviteOneLinkID(string oneLinkID);
Cập nhật API cốt lõi
// old
AppsFlyer.trackRichEvent(string eventName, Dictionary<string, string> eventValues);
// new
AppsFlyer.sendEvent(string eventName, Dictionary<string, string> eventValues);
// old
AppsFlyer.stopTracking(bool isStopTracking);
// new
AppsFlyer.stopSDK(bool isStopTracking);
// old
AppsFlyer.setDeviceTrackingDisabled(bool state);
// new
AppsFlyer.anonymizeUser(true);
// old
AppsFlyer.generateUserInviteLink(Dictionary<string,string> parameters, string callbackObject,string callbackMethod, string callbackFailedMethod);
// new
AppsFlyer.generateUserInviteLink(Dictionary<string, string> parameters, MonoBehaviour gameObject);
// old
AppsFlyer.trackAndOpenStore(string promotedAppId, string campaign, Dictionary<string,string> customParams);
// new
AppsFlyer.trackAndOpenStore(string appID, string campaign, Dictionary<string, string> userParams, MonoBehaviour gameObject);
API chỉ dành cho iOS
// old
AppsFlyer.setIsSandbox(bool isSandbox);
// new
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setUseReceiptValidationSandbox(true);
#endif
// old
AppsFlyer.registerUninstall(byte[] token);
// new
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.registerUninstall(token);
#endif
// old
AppsFlyer.handleOpenUrl(string url, string sourceApplication, string annotation);
// new
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.handleOpenUrl(string url, string sourceApplication, string annotation);
#endif
API chỉ dành cho Android
// old
AppsFlyer.setCollectIMEI(bool shouldCollect);
// new
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setCollectIMEI(bool shouldCollect);
#endif
// old
AppsFlyer.setCollectAndroidID(bool shouldCollect);
//new
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setCollectAndroidID(bool shouldCollect);
#endif
//old
AppsFlyer.setImeiData(string imeiData);
//new
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setImeiData(string imeiData);
#endif
//old
AppsFlyer.updateServerUninstallToken(string token);
//new
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.updateServerUninstallToken(string token);
#endif
//old
AppsFlyer.setAndroidIdData(string androidIdData);
//new
#if UNITY_ANDROID && !UNITY_EDITOR
AppAppsFlyersFlyerAndroid.setAndroidIdData("androidId");
#endif
//old
AppsFlyer.setPreinstallAttribution(string mediaSource, string campaign, string siteId);
//new
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setPreinstallAttribution("mediaSource", "campaign", "siteId");
#endif
//old
AppsFlyer.handlePushNotification(Dictionary<string, string> payload);
//new
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.handlePushNotifications();
#endif
Xác thực đã Nhận
// android old api
AppsFlyer.validate-receipt(string publicKey, string purchaseData, string signature, string price, string currency, Dictionary<string, string> extraParams);
// iOS old api
AppsFlyer.validate-receipt(string productIdentifier, string price, string currency, string transactionId, Dictionary<string, string> additionalParametes);
AppsFlyer.createValidateInAppListener(string aObject, string callbackMethod, string callbackFailedMethod);
// android new
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.validateAndSendInAppPurchase(
"publicKey",
"signature",
"purchaseData",
"price",
"currency",
null,
this);
#endif
// ios new
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.validateAndSendInAppPurchase(
"productIdentifier",
"price",
"currency",
"tranactionId",
null,
this);
#endif
Ngưng hỗ trợ
//@Deprecated
AppsFlyer.enableUninstallTracking(string senderId);
AppsFlyer.getHost();
AppsFlyer.loadConversionData(string callbackObject, string callbackMethod, string callbackFailedMethod);
AppsFlyer.setGCMProjectNumber(string googleGCMNumber);
AppsFlyer.setShouldCollectDeviceName(bool shouldCollectDeviceName);
Đã cập nhật khoảng 1 năm trước