Listeners & Interfaces
AppVirality provides various interfaces with its SDK that can be used to receive a callback upon successful execution, or in case of some error while executing the API.
You can use these callbacks to:
- track the execution of the API
- check if the API call is successful or not
- receive API response data or some other data depending on the API
- get error message in case the API call gets failed
Below is a full list of interfaces provided by the AppVirality SDK.
You can check them out to know their use case and callback parameters.
This interface is used to receive a callback while checking the attribution status for the user.
void onResponse(JSONObject responseData, String errorMsg);
Callback method, called when the /checkforattribution API finishes execution.
This will only be called if you have requested for the callback, passing a valid CheckAttributionListener instance while checking the attribution status for a user.
Parameters
responseData – JSONObject. User attribution data returned by the API, null if the call fails
{
"userKey": "ff86355995aa48b38b4f726b8383dd85",
"userEmail": "",
"isExistingUser": true,
"hasReferrer": false,
"referrerCode": "",
"referrerName": "",
"profileImage": "",
"rewardType": "",
"friendReward": "",
"friendRewardUnit": "",
"friendRewardEvent": "",
"friendIncentiveDesc": "",
"welcomeMessage": "",
"offerTitleColor": "",
"campaignBGColor": "",
"offerDescriptionColor": "",
"attributionSetting": "1",
"isReferrerConfirmed": false,
"isRewardExists": false
}
errorMsg – String. Error message, if the API call gets failed; else NULL
Callback interface, for when the AppVirality SDK initialization API finishes execution.
This interface is used to receive a callback while initializing the AppVirality SDK.
void onInitFinished(boolean isInitialized, JSONObject responseData, String errorMsg);
Callback method, called when the AppVirality SDK initialization API finishes execution.
This will only be called if you have requested for the callback, passing a valid AppViralitySessionInitListener instance while initializing the SDK. The callback returns a bunch of details about the user, like:
- User Key (most important among all other details)
- Whether user has a Referrer
- Is an Existing User or not
- Reward type for the user
Parameters
isInitialized – boolean. True, if the SDK gets initialized successfully; else False
responseData – JSONObject. User attribution data returned by the API, null if the call fails
{
"userKey": "19bbcd95cf5d4bf6ade8eb42fe7ef262",
"customUrl": "",
"customDomain": "",
"isExistingUser": false,
"hasReferrer": true,
"referrerCode": "avg-4",
"referrerName": "peter.raj990%40gmail.com",
"profileImage": "",
"rewardType": "3",
"friendReward": "12",
"friendRewardUnit": "Points",
"friendRewardEvent": "Install",
"friendIncentiveDesc": "",
"welcomeMessage": "12+Points+from+peter.raj990%40gmail.com.+Create+an+account+and+claim+your+credit+on+DEVTESTAPP.",
"offerTitleColor": "#ffffff",
"campaignBGColor": "#e45335",
"offerDescriptionColor": "#ffffff",
"attributionSetting": "1",
"isReferrerConfirmed": true,
"success": true,
"statusCode": 0,
"Message": ""
}
errorMsg – String. Error message, if the initialization fails; else NULL
Callback interface for notifying when the referrer details are ready.
This interface is used to receive a callback when the referrer details will be ready, returning the referrer details with the callback.
void onReferrerDetailsReady(JSONObject referrerDetails);
Callback method, called when the referrer details will be ready with the SDK.
This will only be called if you have requested for the callback, passing a valid ReferrerDetailsReadyListener instance while invoking the SDK method to get the referrer details.
Parameters
referrerDetails – JSONObject. User attribution data returned by the API, null if the call fails
{
"userKey": "ff86355995aa48b38b4f726b8383dd85",
"userEmail": "",
"isExistingUser": true,
"hasReferrer": false,
"referrerCode": "",
"referrerName": "",
"profileImage": "",
"rewardType": "",
"friendReward": "",
"friendRewardUnit": "",
"friendRewardEvent": "",
"friendIncentiveDesc": "",
"welcomeMessage": "",
"offerTitleColor": "",
"campaignBGColor": "",
"offerDescriptionColor": "",
"attributionSetting": "1",
"isReferrerConfirmed": false,
"isRewardExists": false
}
Callback interface for getting the campaign details.
This interface is used to receive a callback when the campaign details will be ready, returning the campaign details with the callback.
void onGetCampaignDetails(ArrayList<CampaignDetail> campaignDetails, boolean refreshImages, String errorMsg);
Callback method, called when the campaign details will be ready with the SDK.
This will only be called if you have requested for the callback, passing a valid CampaignDetailsListener instance while invoking the SDK method to get the campaign details.
Parameters
campaignDetails – ArrayList<CampaignDetail>. Array list of CampaignDetail class objects, which contains various campaign related data like campaignId, campaignTitle, etc
refreshImages – boolean. True, if Word of Mouth campaign details are changed ; else False
errorMsg – String. Error message, if the API call to fetch campaigns gets failed ; else NULL
Callback interface for when the /updateappuserinfo API finishes execution.
This interface is used to receive a callback while updating the user info.
void onResponse(boolean isSuccess, String errorMsg);<br>
Callback method, when the /updateappuserinfo API finishes execution.
This will only be called if you have requested for the callback, passing a valid UpdateUserInfoListener instance while invoking the SDK method to update the user info.
Parameters
isSuccess – boolean. True, if the user info updated successfully ; else False
errorMsg – String. Error message, if the API call gets failed ; else NULL
Callback interface for when the saveconversionevent API finishes execution.
This interface is used to receive a callback while saving a conversion event.
void onResponse(boolean isSuccess, String message, String errorMsg);
Callback method, when the /saveconversionevent API finishes execution.
This will only be called if you have requested for the callback, passing a valid ConversionEventListener instance while invoking the SDK method to save a conversion event.
Parameters
isSuccess – boolean. True, if user got any reward for the event ; else False
message – String. Message to display if API call is successful
errorMsg – String. Error message, if the API call gets failed ; else NULL
Callback interface for when the /setreferrercode API finishes execution.
This interface is used to receive a callback while submitting a referral code.
void onResponse(boolean isSuccess, JSONObject responseData, String errorMsg);
Callback method, when the /setreferrercode API finishes execution.
This will only be called if you have requested for the callback, passing a valid SubmitReferralCodeListener instance while invoking the SDK method to apply referral code for a user.
Parameters
isSuccess – boolean. True, if the referral code applied successfully ; else False
responseData – JSONObject. Submit Referral Code API response data
{
"userKey": "19bbcd95cf5d4bf6ade8eb42fe7ef262",
"customUrl": "",
"customDomain": "",
"isExistingUser": false,
"hasReferrer": true,
"referrerCode": "avg-4",
"referrerName": "peter.raj990%40gmail.com",
"profileImage": "",
"rewardType": "3",
"friendReward": "12",
"friendRewardUnit": "Points",
"friendRewardEvent": "Install",
"friendIncentiveDesc": "",
"welcomeMessage": "12+Points+from+peter.raj990%40gmail.com.+Create+an+account+and+claim+your+credit+on+DEVTESTAPP.",
"offerTitleColor": "#ffffff",
"campaignBGColor": "#e45335",
"offerDescriptionColor": "#ffffff",
"attributionSetting": "1",
"isReferrerConfirmed": true,
"success": true,
"statusCode": 0,
"Message": ""
}
errorMsg – String. Error message, if the API call gets failed ; else NULL
Callback interface for when the /campaignterms API finishes execution.
This interface is used to receive a callback while fetching the terms for a campaign.
void onGetCampaignTerms(String terms, String errorMsg);
Callback method, when the /setreferrercode API finishes execution.
This will only be called if you have requested for the callback, passing a valid CampaignTermsListener instance while invoking the SDK method to fetch terms for a campaign.
Parameters
terms – String. Campaign terms, if terms are set on dashboard ; else NULL
errorMsg – String. Error message, if the API call gets failed ; else NULL
Callback interface for when the /customizereferralcode API finishes execution.
This interface is used to receive a callback while customizing the user’s referral code.
void onCustomRefCodeSet(boolean isSuccess, String errorMsg);
Callback method, when the /customizereferralcode API finishes execution.
This will only be called if you have requested for the callback, passing a valid CampaignTermsListener instance while invoking the SDK method to customize the referral code for a user.
Parameters
isSuccess – boolean. True, if referral code is customized successfully; else False
errorMsg – String. Error message, if the API call gets failed ; else NULL
Callback interface for when the /getuserbalance API finishes execution.
This interface is used to receive a callback while fetching the reward balance for a user.
void onGetRewardDetails(JSONObject responseData, String errorMsg);
Parameters
responseData – JSONObject. Contains all rewards related data for a user i.e. claimed, pending, etc.; amount, coupon code, gross amount earned, etc.
{
"userBalance": {
"total": 33.0,
"claimed": 0.0,
"pending": 33.0,
"approved": 33.0,
"growthHacks": [{
"ghName": "Word_of_Mouth",
"total": 30.0,
"claimed": 0.0,
"pending": 30.0,
"approved": 30.0,
"campaigns": [{
"campaignId": 431,
"campaignName": "Faraz Referral Test",
"total": 30.0,
"claimed": 0.0,
"pending": 30.0,
"approved": 30.0,
"ghName": "Word_of_Mouth",
"rewardUnit": "coins"
}]
}, {
"ghName": "Loyalty_Program",
"total": 3.0,
"claimed": 0.0,
"pending": 3.0,
"campaigns": [{
"campaignId": 453,
"campaignName": "LoyaltyTestCampaign",
"total": 3.0,
"claimed": 0.0,
"pending": 3.0,
"approved": 3.0,
"ghName": "Loyalty_Program",
"rewardUnit": "$"
}]
}]
},
"success": true,
"statusCode": 0,
"Message": ""
}
errorMsg – String. Error message, if the API call gets failed ; else NULL
Callback interface for when the /getuserrewards API finishes execution.
This interface is used to receive a callback while fetching the detail reward data for a user.
void onResponse(JSONObject responseData, String errorMsg);
Parameters
responseData – JSONObject. Contains detail reward data for a user.
{
"rewards":[
{
"name":"",
"image":"",
"email":"",
"reward":"5.00",
"rewardUnit":"Cust",
"rewardedOn":"8-Dec-2016",
"eventName":"Install",
"rewardStatus":"Pending",
"rewardType":"Coupon",
"userType":"Referrer",
"coupon":"",
"campaignID":"431",
"campaignName":"F Faraz Referral 2",
"growthhack":"Word_of_Mouth",
"couponimage":"",
"coupondetails":"",
"couponname":""
},
{
"name":"test236884name",
"image":"",
"email":"",
"reward":"5.00",
"rewardUnit":"Cust",
"rewardedOn":"7-Dec-2016",
"eventName":"Install",
"rewardStatus":"Pending",
"rewardType":"Coupon",
"userType":"Referrer",
"coupon":"",
"campaignID":"431",
"campaignName":"F Faraz Referral 2",
"growthhack":"Word_of_Mouth",
"couponimage":"",
"coupondetails":"",
"couponname":""
},
{
"name":"test236883name",
"image":"",
"email":"",
"reward":"5.00",
"rewardUnit":"Cust",
"rewardedOn":"7-Dec-2016",
"eventName":"Install",
"rewardStatus":"Pending",
"rewardType":"Coupon",
"userType":"Referrer",
"coupon":"",
"campaignID":"431",
"campaignName":"F Faraz Referral 2",
"growthhack":"Word_of_Mouth",
"couponimage":"",
"coupondetails":"",
"couponname":""
},
{
"name":"test236882name",
"image":"",
"email":"",
"reward":"5.00",
"rewardUnit":"Cust",
"rewardedOn":"7-Dec-2016",
"eventName":"Install",
"rewardStatus":"Pending",
"rewardType":"Coupon",
"userType":"Referrer",
"coupon":"",
"campaignID":"431",
"campaignName":"F Faraz Referral 2",
"growthhack":"Word_of_Mouth",
"couponimage":"",
"coupondetails":"",
"couponname":""
},
{
"name":"test236857name",
"image":"",
"email":"",
"reward":"5.00",
"rewardUnit":"Cust",
"rewardedOn":"6-Dec-2016",
"eventName":"Install",
"rewardStatus":"Pending",
"rewardType":"Coupon",
"userType":"Referrer",
"coupon":"",
"campaignID":"431",
"campaignName":"F Faraz Referral 2",
"growthhack":"Word_of_Mouth",
"couponimage":"",
"coupondetails":"",
"couponname":""
},
{
"name":"frnd2811655@dummy.com",
"image":"",
"email":"",
"reward":"5.00",
"rewardUnit":"Cust",
"rewardedOn":"28-Nov-2016",
"eventName":"Install",
"rewardStatus":"Pending",
"rewardType":"Coupon",
"userType":"Referrer",
"coupon":"",
"campaignID":"431",
"campaignName":"F Faraz Referral 2",
"growthhack":"Word_of_Mouth",
"couponimage":"",
"coupondetails":"",
"couponname":""
},
{
"name":"test236719name",
"image":"",
"email":"",
"reward":"5.00",
"rewardUnit":"Cust",
"rewardedOn":"28-Nov-2016",
"eventName":"Install",
"rewardStatus":"Pending",
"rewardType":"Coupon",
"userType":"Referrer",
"coupon":"",
"campaignID":"431",
"campaignName":"F Faraz Referral 2",
"growthhack":"Word_of_Mouth",
"couponimage":"",
"coupondetails":"",
"couponname":""
},
{
"name":"frnd2811330",
"image":"",
"email":"",
"reward":"5.00",
"rewardUnit":"Cust",
"rewardedOn":"28-Nov-2016",
"eventName":"Install",
"rewardStatus":"Pending",
"rewardType":"Coupon",
"userType":"Referrer",
"coupon":"",
"campaignID":"431",
"campaignName":"F Faraz Referral 2",
"growthhack":"Word_of_Mouth",
"couponimage":"",
"coupondetails":"",
"couponname":""
},
{
"name":"Frnd2811319",
"image":"",
"email":"",
"reward":"5.00",
"rewardUnit":"Cust",
"rewardedOn":"28-Nov-2016",
"eventName":"Install",
"rewardStatus":"Pending",
"rewardType":"Coupon",
"userType":"Referrer",
"coupon":"",
"campaignID":"431",
"campaignName":"F Faraz Referral 2",
"growthhack":"Word_of_Mouth",
"couponimage":"",
"coupondetails":"",
"couponname":""
},
{
"name":"test236501name",
"image":"",
"email":"",
"reward":"5.00",
"rewardUnit":"Cust",
"rewardedOn":"18-Nov-2016",
"eventName":"Install",
"rewardStatus":"Pending",
"rewardType":"Coupon",
"userType":"Referrer",
"coupon":"",
"campaignID":"431",
"campaignName":"F Faraz Referral 2",
"growthhack":"Word_of_Mouth",
"couponimage":"",
"coupondetails":"",
"couponname":""
}
],
"success":true,
"Message":""
}
errorMsg – String. Error message, if the API call gets failed ; else NULL
Callback interface for when the /getusercoupons API finishes execution.
This interface is used to receive a callback while fetching the coupons for a user.
void onGetCoupons(boolean isSuccess, JSONArray userCoupons, String errorMsg);
Callback method, when the /getusercoupons API finishes execution.
This will only be called if you have requested for the callback, passing a valid UserCouponsListener instance while invoking the SDK method to fetch the coupons for a user.
Parameters
isSuccess – boolean. True, if API call gets executed successfully; else NULL
userCoupons – JSONArray. Array of user coupons data
[{
"coupons": [{
"couponCode": "Install123",
"couponExpiry": "24-Jul-2016",
"couponValue": "5",
"couponUnit": "coins",
"campaignID": "431",
"campaignName": "Faraz Referral Test",
"image": "https://paytm.com/blog/wp-content/uploads/2014/11/logo.png",
"details": "Install Coupon Pool Dummy Test for Long description.",
"name": "InstallCouponPool"
}, {
"couponCode": "Signup123",
"couponExpiry": "24-Jul-2016",
"couponValue": "7",
"couponUnit": "coins",
"campaignID": "431",
"campaignName": "Faraz Referral Test",
"image": "https://paytm.com/blog/wp-content/uploads/2014/11/logo.png",
"details": "SignUp Coupon Pool",
"name": "SignUpCouponPool"
}]
}]
errorMsg – String. Error message, if the API call gets failed ; else NULL
Callback interface for when the /getcouponpools API finishes execution.
This interface is used to receive a callback while fetching the coupon pools for a campaign, from which the user could redeem a coupon.
void onGetCouponPools(JSONObject responseData, String errorMsg);
Parameters
responseData – JSONObject. Contains all coupon pool related data for a campaign including coupon pool details
{
"campaigns": [{
"campaignId": "431",
"campaignName": "Faraz Referral Test",
"growthhack": "Word_of_Mouth",
"pools": [{
"poolId": "141",
"name": "SignUpCouponPool",
"details": "SignUp Coupon Pool",
"image": "https://paytm.com/blog/wp-content/uploads/2014/11/logo.png",
"value": "7"
}, {
"poolId": "142",
"name": "InstallCouponPool",
"details": "Install Coupon Pool Dummy Test for Long description.",
"image": "https://paytm.com/blog/wp-content/uploads/2014/11/logo.png",
"value": "5"
}, {
"poolId": "143",
"name": "TransactionCouponPool",
"details": "Transaction Coupon Pool",
"image": "https://paytm.com/blog/wp-content/uploads/2014/11/logo.png",
"value": "3"
}]
}, {
"campaignId": "453",
"campaignName": "LoyaltyTestCampaign",
"growthhack": "Loyalty_Program",
"pools": [{
"poolId": "160",
"name": "InstallCouponPool",
"details": "Install Coupon Pool Dummy Test for Long description.",
"image": "https://paytm.com/blog/wp-content/uploads/2014/11/logo.png",
"value": "5"
}, {
"poolId": "161",
"name": "TransactionCouponPool",
"details": "Transaction Coupon Pool",
"image": "https://paytm.com/blog/wp-content/uploads/2014/11/logo.png",
"value": "3"
}, {
"poolId": "162",
"name": "SignUpCouponPool",
"details": "SignUp Coupon Pool",
"image": "https://paytm.com/blog/wp-content/uploads/2014/11/logo.png",
"value": "7"
}]
}],
"success": true,
"statusCode": 0,
"Message": ""
}
errorMsg – String. Error message, if the API call gets failed ; else NULL
Callback interface for when the /redeemrewards API finishes execution.
This interface is used to receive a callback while redeeming a coupon from some coupon pool.
void onResponse(boolean isRedeemed, String errorMsg);
Callback method, when the /redeemrewards API finishes execution.
This will only be called if you have requested for the callback, passing a valid CouponRedeemListener instance while invoking the SDK method to redeem a coupon from some coupon pool.
Parameters
isRedeemed – boolean. True, if the coupon redeemed successfully ; else false
errorMsg – String. Error message, if the API call gets failed ; else NULL
Callback interface for when the /getfriendslist API finishes execution.
This interface is used to receive a callback while fetching the list of friends for a user.
void onGetFriends(JSONObject responseData, String errorMsg);
This will only be called if you have requested for the callback, passing a valid GetFriendsListener instance while invoking the SDK method to fetch the list of friends for a user.
Parameters
responseData – JSONObject. Contains data related to the Friends Info for your Growth Campaign
{
"friends": [{
"appUserId": 235567,
"emailId": "",
"name": "",
"profileImage": "",
"regDate": "15-Jul-2016"
}, {
"appUserId": 235566,
"emailId": "",
"name": "test235566name",
"profileImage": "",
"regDate": "15-Jul-2016"
}, {
"appUserId": 235565,
"emailId": "",
"name": "test235565name",
"profileImage": "",
"regDate": "15-Jul-2016"
}],
"success": true,
"statusCode": 0,
"Message": ""
}
errorMsg – String. Error message, if the API call gets failed ; else NULL
Callback interface for when the /recordproductattribution API finishes execution.
This interface is used to receive a callback while recording attribution for a shared product.
void onResponse(JSONObject responseData, String errorMsg);
This will only be called if you have requested for the callback, passing a valid ProductAttributionListener instance while invoking the SDK method to record the attribution for a product shared by someone with the user.
Parameters
responseData – JSONObject. Contains product related data
{
"productCode": "SKUNIK3",
"extraInfo": null,
"success": true
}