Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions Docs/API.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
- [trackCrossPromotionImpression](#trackCrossPromotionImpression)
- [trackAndOpenStore](#trackAndOpenStore)
- [setCurrencyCode](#setCurrencyCode)
- [setDeviceTrackingDisabled](#setDeviceTrackingDisabled)


---
Expand Down Expand Up @@ -656,3 +657,23 @@ appsFlyer.setCurrencyCode(currencyCode, () => {});
```

---

##### <a id="setDeviceTrackingDisabled"> **`setDeviceTrackingDisabled(isDeviceTrackingDisabled, callback)`**

It is possible to anonymize specific user identifiers within AppsFlyer analytics.<br/>
This complies with both the latest privacy requirements (GDPR, COPPA) and Facebook's data and privacy policies.<br/>
To anonymize an app user:<br/>

| parameter | type | description |
| ---------- |----------|------------------ |
| isDeviceTrackingDisabled | boolean | True if want Anonymize user Data (default value is false). |
| callback | function | success callback |


*Example:*

```javascript
appsFlyer.setDeviceTrackingDisabled(true, () => {});
```

---
86 changes: 86 additions & 0 deletions index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
/**
* Typescript Definition Sync with v5.1.1
**/
declare module "react-native-appsflyer" {
type Response<T> = void | Promise<T>;
type SuccessCB = (result?:any) => any;
type ErrorCB = (error?:any) => any;
export type ConversionData = {
status: "success" | "failure",
type: "onAppOpenAttribution"
| "onInstallConversionDataLoaded"
| "onAttributionFailure"
| "onInstallConversionFailure",
data: {
is_first_launch: "true" | "false";
media_source: string;
campaign: string;
af_status : "Organic" | "Non-organic";
[key:string]:any;
}
}

export enum AF_EMAIL_CRYPT_TYPE {
NONE,
SHA1,
MD5
}

export interface InitSDKOptions {
devKey:string;
appId?:string; //for iOS
isDebug?:boolean;
}

export interface SetEmailsOptions {
emails?:string[];
emailsCryptType:AF_EMAIL_CRYPT_TYPE | 0 | 1 | 2;
}

export interface GenerateInviteLinkParams {
channel: string;
campaign?: string;
customerID?: string;
userParams?: object;
[key:string]:any;
}

const appsFlyer: {
onInstallConversionData(callback:(data:ConversionData)=>any): () => void;
onAppOpenAttribution(callback:(data:any)=>any): () => void;

initSdk(options:InitSDKOptions, successC?:SuccessCB, errorC?:ErrorCB): Response<string>
trackEvent(eventName:string, eventValues:object, successC?:SuccessCB, errorC?:ErrorCB): Response<string>
setUserEmails(options:SetEmailsOptions, successC?:SuccessCB, errorC?:ErrorCB): void
setAdditionalData(additionalData:object, successC?:SuccessCB): void
getAppsFlyerUID(callback:(error:Error, uid:string)=>any): void
updateServerUninstallToken(token:string, successC?:SuccessCB): void
setCustomerUserId(userId:string, successC?:SuccessCB): void
stopTracking(isStopTracking:boolean, successC?:SuccessCB): void
setAppInviteOneLinkID(oneLinkID:string, successC?:SuccessCB): void
generateInviteLink(params:GenerateInviteLinkParams, successC?:SuccessCB, errorC?:ErrorCB): void
trackCrossPromotionImpression(appId:string, campaign:string): void
trackAndOpenStore(appId:string, campaign:string, params: object): void
setCurrencyCode(currencyCode:string, successC:SuccessCB): void
setDeviceTrackingDisabled(isDeviceTrackingDisabled:boolean, successC:SuccessCB): void

/**
* For iOS Only
* */
trackAppLaunch(): void
trackLocation(longitude:number, latitude:number, callback:SuccessCB): void

/**
* For Android Only
* */
sendDeepLinkData(callback:any): void
setCollectIMEI(isCollect:boolean, successC?:SuccessCB): void
setCollectAndroidID(isCollect:boolean, successC?:SuccessCB): void
/** @deprecated - please use updateServerUninstallToken **/
setGCMProjectNumber(gcmProjectNumber:any, successC?:SuccessCB, errorC?:ErrorCB): void
/** @deprecated - please use updateServerUninstallToken **/
enableUninstallTracking(gcmProjectNumber:any, successC?:SuccessCB): void
};

export default appsFlyer;
}