您可以使用 iOS PhoneGap 外掛程式方法來完成各種作業。
在您想要使用追蹤的 html
檔案中,對 <head>
標記新增下列內容:
<script type="text/javascript" charset="utf-8" src="ADB_Helper.js"></script>
getPrivacyStatus
傳回目前使用者的隱私權狀態。可用的狀態包括:
ADB.optedIn
,會立即傳送點擊。
ADB.optedOut
,會捨棄點擊。
ADB.optUnknown
如果您的報表套裝已啟用時間戳記,會儲存點擊直到隱私權狀態變更為選擇加入 (屆時會傳送點擊) 或選擇退出 (屆時會捨棄點擊) 為止。如果您的報表套裝沒有啟用時間戳記,則會捨棄點擊,直到隱私權狀態變更為選擇加入為止。
預設值設定在 ADBMobileConfig.json
檔案中。
此方法的範例程式碼如下:
getPrivacyStatus(function (value){myTempVal = value;},function(){myTempVal = null;});
setPrivacyStatus
將目前使用者的隱私權狀態設為 status
。您可以設定下列其中一種狀態:
ADB.optedIn
,會立即傳送點擊。
ADB.optedOut
,會捨棄點擊。
ADB.optUnknown
– 如果您的報表套裝已啟用時間戳記,會儲存點擊直到隱私權狀態變更為選擇加入 (屆時會傳送點擊) 或選擇退出 (屆時會捨棄點擊) 為止。
如果您的報表套裝沒有啟用時間戳記,則會捨棄點擊,直到隱私權狀態變更為選擇加入為止。
此方法的範例程式碼如下:
ADB.setPrivacyStatus('ADB.optedIn');
getLifetimeValue
傳回目前使用者的期限值。預設值為 0。
此方法的範例程式碼如下:
ADB.getLifetimeValue(function(value){myTempVal = value;},function(){myTempVal = null;});
setDebugLogging
啟用 (true
) 或停用 (false
) 檢視偵錯資訊。預設情況下,該變數為 false
。
此方法的範例程式碼如下:
ADB.setDebugLogging(true);
getVersion
取得資料庫版本。
此方法的範例程式碼如下:
ADB.getVersion(function(value){versionNum = value;},function(){versionNum=1.0;});
trackingIdentifier
傳回自動產生的訪客識別碼。這是應用程式專屬的唯一訪客 ID,會在初次啟動時產生,並會從此時間點儲存及使用。ID 會在應用程式升級時保留,並在解除安裝應用程式時移除。
如果您的應用程式從 Experience Cloud 3.x 升級至 4.x SDK,應用程式會擷取先前的訪客 ID (自訂或自動產生) 並將其儲存為自訂使用者識別碼 (請參閱下方的 getUserIdentifier
)。這樣在 SDK 升級之後即可保留訪客資料。若為全新安裝的 4.x SDK,則使用者識別碼為 null
,且會使用追蹤識別碼。
此方法的範例程式碼如下:
ADB.trackingIdentifier(function(value){myTempVal = value;},function(){myTempVal = null;});
getUserIdentifier
若已設定自訂識別碼,將會傳回自訂使用者識別碼,否則會傳回 null
。預設值為 null
。
此方法的範例程式碼如下:
getUserIdentifier(function(value){myTempVal = value;},function(){myTempVal = null;});
setUserIdentifier
將使用者識別碼設為 identifier
。
此方法的範例程式碼如下:
ADB.setUserIdentifier('testUser');
setPushIdentifier
設定用於推送通知的裝置代號。
此方法的語法如下:
ADB.setPushIdentifier(pushIdentifier,success,fail);
此方法的程式碼範例如下:
ADB.setPushIdentifier('test_push_identifier',function(value){alert('success');},function(value){alert('fail');
keepLifecycleSessionAlive
將生命週期工作階段的偏好設定為保持運作。
呼叫 keepLifecycleSessionAlive
可防止您的應用程式下次從背景繼續執行時啟動新的工作階段。只有在應用程式註冊了接收背景通知時,才能使用此方法。
此方法的範例程式碼如下:
ADB.keepLifecycleSessionAlive();
trackingSendQueuedHits
不論目前的批次選項為何,都會強制資料庫傳送排入佇列的所有點擊。
此方法的範例程式碼如下:
ADB.trackingSendQueuedHits();
trackingGetQueueSize
取得或設定離線佇列中儲存的追蹤呼叫數目。
此方法的範例程式碼如下:
ADB.trackingGetQueueSize(function(value){myTempVal = value;},function(){myTempVal = null;});
trackingClearQueue
移除離線佇列中所有儲存的追蹤呼叫。
當手動清除佇列時,請務必小心,因為此動作無法復原。
此方法的範例程式碼如下:
ADB.trackingClearQueue(function(value){myTempVal = value;},function(){myTempVal = null;});
keepLifecycleSessionAlive
向 SDK 指出不論設定檔案中的生命週期工作階段逾時值為何,您下次從背景恢復時都不應啟動新的工作階段。
重要:此方法旨在用於在背景中註冊接收通知的應用程式,且只有當應用程式於背景執行時,才應從此時執行的程式碼中呼叫此方法。
此方法的範例程式碼如下:
ADB.keepLifecycleSessionAlive();
collectLifecycleData
向 SDK 指出應在 SDK 的所有解決方案中收集、使用其生命週期資料。如需詳細資訊,請參閱生命週期量度。
此方法的範例程式碼如下:
ADB.collectLifecycleData();
collectPII
提交 PII 收集要求。
此方法的語法如下:
ADB.collectPII(piiData,success,fail);
此方法的範例程式碼如下:
ADB.collectPII({'k1':'v1','k2':'v2','k3':'v3'}, function (value) { alert('success'); },function (value) { alert('fail'); });
trackAdobeDeepLink
追蹤 Adobe 深層連結點進。
如果生命週期呼叫是啟動事件,會附加 Adobe Link 資料,否則將會額外傳送呼叫。
此方法的語法如下:
ADB.trackAdobeDeepLink(deeplinkURL,success,fail);
此方法的範例程式碼如下:
ADB.trackAdobeDeepLink('xyz-deeplink-url',function(value){alert('success');},function(value){alert('fail');});
trackPushMessageClickthrough
追蹤推送訊息點進。
此方法的語法如下:
ADB.trackPushMessageClickthrough(userInfo,success,fail);
此方法的範例程式碼如下:
ADB.trackPushMessageClickthrough({'k1':'v1','k2':'v2','k3':'v3'},function(value){alert('success');},function(value){alert('fail');});
trackLocalNotificationClickThrough
追蹤本機通知訊息點進。
此方法的語法如下:
ADB.trackLocalNotificationClickThrough(userInfo,success,fail);
此方法的範例程式碼如下:
ADB.trackLocalNotificationClickThrough({'k1':'v1','k2':'v2','k3':'v3'},function(value){alert('success');},function(value){alert('fail');});
trackState
使用可選內容資料來追蹤應用程式。狀態為應用程式中可用的檢視,例如 home dashboard
、app settings
、cart
等。這些狀態類似於網站上的頁面,且 trackState
呼叫會遞增頁面檢視。cData 為 JSON 物件,具有要在內容資料中傳送的索引鍵/值組。
此方法的語法如下:
ADB.trackState(stringstateName[,JSONcData]);
此方法的範例程式碼如下:
ADB.trackState("loginpage");
ADB.trackState("loginpage",{"user":"john","remember":"true"});
trackAction
追蹤應用程式中的動作。動作是發生在應用程式中而且您想測量的項目,包括 logins
、banner taps
、feed subscriptions
以及其他量度。
此方法的語法如下:
ADB.trackAction(stringaction[,JSONcData]);
此方法的範例程式碼如下:
ADB.trackAction("login");
ADB.trackAction("login",{"user":"john","remember":"true"})
trackActionFromBackground
追蹤在背景發生的動作。在特定情境中抑制生命週期事件地觸發。
此方法的語法如下:
ADB.trackActionFromBackground(stringaction[,JSONcData]);
此方法的範例程式碼如下:
ADB.trackActionFromBackground("login");
ADB.trackActionFromBackground("login",{"user":"john","remember":"true"});
trackLocation
傳送目前的 x 和 y 座標。也會使用 ADBMobileConfig.json
檔案中已定義的地標,來判斷提供為參數的位置是否在您的任何 POI 內。如果目前座標位在定義的 POI 中,則會填入內容資料變數並與 trackLocation
呼叫一併傳送。
此方法的語法如下:
ADB.trackLocation(x,y[,JSONcData]);
此方法的程式碼範例如下:
ADB.trackLocation('40.431596','-111.893713');
trackLifetimeValueIncrease
增加使用者期限值的 amount
。
此方法的語法如下:
ADB.trackLifetimeValueIncrease(amount[,JSONcData]);
此方法的程式碼範例如下:
ADB.trackLifetimeValueIncrease('10.01');
trackTimedActionStart
以名稱 action
啟動計時動作。如果您對已啟動的動作呼叫此方法,則會覆寫先前的計時動作。
此呼叫不會傳送點擊。
此方法的語法如下:
ADB.trackTimedActionStart(action[,JSONcData]);
此方法的程式碼範例如下:
ADB.trackTimedActionStart("cartToCheckout");
trackTimedActionUpdate
傳遞 cData
以更新與指定 action
關聯的內容資料。傳遞的 cData
會附加至指定動作的現有資料;如果已為 action
定義了相同鍵值,則會覆寫資料。
此呼叫不會傳送點擊。
此方法的語法如下:
ADB.trackTimedActionUpdate(Stringaction[,JSONcData]);
此方法的範例程式碼如下:
ADB.trackTimedActionUpdate("cartToCheckout",{'SampleContextDataKey3':'SampleContextDataVal3','SampleContextDataKey4':'SampleContextDataVal4'});
trackTimedActionEnd
結束計時動作。
此方法的範例程式碼如下:
ADB.trackTimedActionEnd("cartToCheckout");
trackingTimedActionExists
傳回計時動作是否正在進行中。
此方法的語法如下:
ADB.trackingTimedActionExists(function(value){myTempVal = value;},function(){myTempVal = null;});
targetLoadRequest
傳送要求至您設定的 Target
伺服器並傳回選件的字串值。
此方法的語法如下:
ADB.targetLoadRequest(success,fail,name,defaultContent,parameters);
此方法的範例程式碼如下:
ADB.targetLoadRequest(function (value)
{myTempVal = value;},function() {myTempVal = null;},'bannerOffer','none',{'hp':'hp_val_new','hp.company':'adobe','hp.val2':'hp_val2'});
targetLoadOrderConfirmRequest
傳送要求至您設定的 Target 伺服器。
此方法的語法如下:
ADB.targetLoadOrderConfirmRequest(success,fail,name,orderId,orderTotal,productPurchaseId,parameters);
此方法的範例程式碼如下:
ADB.targetLoadRequest(function(value){myTempVal=value;}
,function()
{myTempVal = null; }
,'name','orderId','total','purchaseId'
,{'hp':'hp_val_new','hp.company':'adobe','hp.val2':'hp_val2'}
);
targetClearCookies
清除共用 Cookie 儲存空間中的 Target Cookie。
此方法的範例程式碼如下:
ADB.targetClearCookies();
targetLoadRequestWithNameWithLocationParameters
處理 Target 服務要求。
此方法的語法如下:
ADB.targetLoadRequestWithNameWithLocationParameters(success,fail,name,defaultContent,profileParameters,orderParameters,mboxParameters,requestLocationParameters
);
此方法的範例程式碼如下:
ADB.targetLoadRequestWithNameWithLocationParameters(function(){alert('success');},function(){alert('fail');},'bannerOffer','none',{'hp':'hp_val_new','hp.company':'adobe','hp.val2':'hp_val2'},{'hp':'hp_val_new','hp.company':'adobe','hp.val2':'hp_val2'},{'hp':'hp_val_new','hp.company':'adobe','hp.val2':'hp_val2'},{'hp':'hp_val_new','hp.company':'adobe','hp.val2':'hp_val2'});
targetLoadRequestWithName
處理 Target 服務要求。
此方法的語法如下:
ADB.targetLoadRequestWithRequestName(success, fail, name, defaultContent, profileParameters, orderParameters, mboxParameters);
此方法的範例程式碼如下:
ADB.targetLoadRequestWithName(
function (value){ // handle target success} ,
function() { // handle target failure },
"mboxName",
"defaultContent",
{"profileParameters":"profileParametervalues"}
{"orderId" : "32FGJ4XK" , "orderTotal" : "123.33" , "purchasedProductIds":"[46,34]" }
{"mboxParameters":"mboxParametersvalues"}
);
targetSessionID
透過 Target 伺服器取得針對此訪客傳回之 SessionID
Cookie 的值。
此方法的語法如下:
ADB.targetSessionID(success,fail);
此方法的範例程式碼如下:
ADB.targetSessionID(function(value){alert(value);},function(value){alert('fail');});
targetPcID
透過 Target 伺服器取得針對此訪客傳回之 PcID
Cookie 的值。
此方法的語法如下:
ADB.targetPcID(success,fail);
此方法的範例程式碼如下:
ADB.targetPcID(function(value){alert(value);},function(value){alert('fail');});
targetSetThirdPartyID
設定 Target 的自訂訪客 ID。
此方法的語法如下:
ADB.targetSetThirdPartyID(thirdPartyID,success,fail);
以下是此群組的範例程式碼:
ADB.targetSetThirdPartyID('test-third-party-id',function(value){alert('success');},function(value){alert('fail');});
targetThirdPartyID
取得 Target 的自訂訪客 ID。
此方法的語法如下:
ADB.targetThirdPartyID(success,fail);
此方法的範例程式碼如下:
ADB.targetThirdPartyID(function(value){alert(value);},function(value){alert('fail');});
acquisitionCampaignStartForApp
就像使用者已按一下連結,讓開發者得以展開應用程式贏取促銷活動。此方法有助於建立手動贏取連結,並且可由您將應用程式商店重新導向 (例如使用 SKStoreView
)。
此方法的語法如下:
ADB.acquisitionCampaignStartForApp(appId,data,success,fail);
此方法的範例程式碼如下:
ADB.acquisitionCampaignStartForApp('0652024f-adcd-49f9-9bd7-2552a4564d2f',{'extraDataKey':'extraDataValue'},success,fail);
在 Cordova 產生的 AppDelegate
中,呼叫 application:didFinishLaunchingWithOptions:
委派方法中的 [ADBMobile setAdvertisingIdentifier:]
。如需詳細資訊,請參閱設定方法。
audienceGetVisitorProfile
取得訪客的設定檔。
此方法的語法如下:
ADB.audienceGetVisitorProfile();
此方法的範例程式碼如下:
ADB.audienceGetVisitorProfile(function(value){profile = value;},function(){profile = null;});
audienceGetDpuuid
傳回 DPUUID。
此方法的語法如下:
ADB.audienceGetDpuuid(success,fail);
此方法的範例程式碼如下:
ADB.audienceGetDpuuid(function(value){dpuuid=value;},function(){dpuuid=null;});
audienceGetDpid
傳回 DPID。
此方法的語法如下:
ADB.audienceGetDpid(success,fail);
此方法的範例程式碼如下:
ADB.audienceGetDpid(function(value){dpid = value;},function(){dpid = null;});
audienceSetDpidAndDpuuid
設定 DPID 和 DPUUID。
此方法的語法如下:
ADB.audienceSetDpidAndDpuuid(dpid,dpuuid,success,fail);
此方法的範例程式碼如下:
ADB.audienceSetDpidAndDpuuid(‘dpid’,‘dpuuid’,function(){…},function(){…});
ADB.audienceSetDpidAndDpuuid(‘dpid’,‘dpuuid’);
audienceSignalWithData
處理 Audience Manager 服務要求。
此方法的語法如下:
ADB.audienceSignalWithData(success,fail,data);
此方法的範例程式碼如下:
ADB.audienceSignalWithData(function(){},function(){},{‘key1’:’value1’,‘key2’:‘value2’});
ADB.audienceSignalWithData({‘key1’:’value1’,‘key2’:‘value2’});
audienceReset
重設觀眾管理員 UUID 並清除目前的訪客描述檔。
此方法的範例程式碼如下:
ADB.audienceReset();
visitorGetMarketingCloudId
從 ID 服務傳回 Experience Cloud ID。
此方法的語法如下:
ADB.visitorGetMarketingCloudId(success,fail);
此方法的範例程式碼如下:
ADB.visitorGetMarketingCloudId(function(value){mcid=value;},function(){mcid=null;});
visitorSyncIdentifiers
將提供的識別碼與 ID 服務同步。
此方法的語法如下:
ADB.visitorSyncIdentifiers(identifiers,success,fail);
此方法的範例程式碼如下:
ADB.visitorSyncIdentifiers({‘key_id_1’:’value_id_1’},function(){…},function(){…}))
ADB.visitorSyncIdentifiers({‘key_id_1’:‘value_id_1’});
visitorSyncIdentifiersWithAuthenticationState
將提供的識別碼同步至訪客 ID 服務。
此方法的語法如下:
ADB.visitorSyncIdentifiersWithAuthenticationState(identifiers,authenticationState,success,fail);
此方法的範例程式碼如下:
ADB.visitorSyncIdentifiersWithAuthenticationState({'k1':'v1','k2':'v2','k3':'v3'},ADB.mobileVisitorAuthenticationStateAuthenticated,function(value){alert('success');},function(value){alert('fail');});
visitorSyncIdentifierWithType
將提供的識別碼同步至訪客 ID 服務。
此方法的語法如下:
ADB.visitorSyncIdentifierWithType(identifierType,identifier,authenticationState,success,fail);
此方法的範例程式碼如下:
ADB.visitorSyncIdentifierWithType('test-identifier-type','test-identifier',ADB.mobileVisitorAuthenticationStateAuthenticated,function(value){alert('success');},function(value){alert('fail');});
visitorAppendToURL
附加訪客識別碼至指定 URL。
此方法的語法如下:
ADB.visitorAppendToURL(urlToAppend,success,fail);
此方法的範例程式碼如下:
ADB.visitorAppendToURL('test_visitor_url',function(value){alert(value);},'');
visitorGetIDs
傳回所有已同步的 visitorIDs
。
此方法的語法如下:
ADB.visitorGetIDs(success,fail)
此方法的程式碼範例如下:
ADB.visitorGetIDs(function(value){alert(value);},function(value){alert('fail');});