Skip to content

Commit

Permalink
- feat: type definition sync with 5.1.1
Browse files Browse the repository at this point in the history
- docs: update API.md
  • Loading branch information
bang9 committed Feb 6, 2020
1 parent 2676457 commit 565ac0b
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 15 deletions.
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(currencyCode, 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, () => {});
```
---
62 changes: 47 additions & 15 deletions index.d.ts
Original file line number Diff line number Diff line change
@@ -1,53 +1,85 @@
/**
* 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;
type ConversionData = {
export type ConversionData = {
status: "success" | "failure",
type: "onAppOpenAttribution"
| "onInstallConversionDataLoaded"
| "onAttributionFailure"
| "onInstallConversionFailure",
data: {
[key:string]:string
is_first_launch: boolean;
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: {
initSdk(options:any, successC?:SuccessCB, errorC?:ErrorCB): Response<string>
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>
trackLocation(longitude:number, latitude:number, callback:SuccessCB): void
setUserEmails(options:any, successC?:SuccessCB, errorC?:ErrorCB): void
setUserEmails(options:SetEmailsOptions, successC?:SuccessCB, errorC?:ErrorCB): void
setAdditionalData(additionalData:object, successC?:SuccessCB): void
getAppsFlyerUID(callback:(error:Error, uid:string)=>any): void
sendDeepLinkData(callback: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:object, successC?:SuccessCB, errorC?:ErrorCB): void
generateInviteLink(params:GenerateInviteLinkParams, successC?:SuccessCB, errorC?:ErrorCB): void
trackCrossPromotionImpression(appId:string, campaign:string): void
trackAndOpenStore(appId:string, campaign:string, params: any): void
trackAndOpenStore(appId:string, campaign:string, params: object): void
setCurrencyCode(currencyCode:string, successC:SuccessCB): void
onInstallConversionData(callback:(data:ConversionData)=>any): any
onAppOpenAttribution(callback:(data:any)=>any): any
setDeviceTrackingDisabled(isDeviceTrackingDisabled:boolean, successC:SuccessCB): void

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

/**
* For Android Only
* */
enableUninstallTracking(gcmProjectNumber:any, successC?:SuccessCB): void
sendDeepLinkData(callback:any): void
setCollectIMEI(isCollect:boolean, successC?:SuccessCB): void
setCollectAndroidID(isCollect:boolean, successC?:SuccessCB): void

/**
* @deprecated
* */
/** @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;
Expand Down

0 comments on commit 565ac0b

Please sign in to comment.