Cwallet
Search
K
Comment on page

How to Verify App Installs with Callback Verification

Enable callback verification to automatically verify if users really downloaded the app. Only participants who have downloaded the app are able to complete this task.
Follow the steps to enable the callback verification:
Step 1
Enter the name of your app and at least one of download URLs for the Apple App Store and Google Play Store, and the Android APK URL.
Step 2
After that, you will need to get deep link params (something like track_id=4wmmHtD4rSA) from your app and parse out the trackId.
About track_id:
  • TrackId is necessary to detect the user's participation in the task and to verify it. We will detect when a user clicks to participate in the task, the ?trackId={{trackId}} will be used for detection.
  • You will see the ?trackId={{trackId}}&send={{download}} applied to your app deep link:
If your app deep link is
the users may open your app via the link
Step 3
Next, please copy the API key we provide you to integrate it with your app.
Then enter the parameters according to the rules of const data, and encrypt the whole const data using the standard HmacSHA256 algorithm.
Note: Remark is optional.
Step 4
Use our official API below and pass the corresponding parameters in the following code.
const { track_id, send } = queryString.parse(deepLink.search); // your deepLink params
const remark = "remark"; // optional
const event = "app_download";
const data = `track_id=${track_id}&event=${event}&remark=${remark}`; // optional
const sign = crypto.HmacSHA256(data, api_key).toString(); // HmacSHA256
fetch("https://cwallet.com/public/v1/giveaway/task/callback", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
track_id,
sign,
event,
remark,
}),
}).then(async (res) => {
console.log(await res.json());
});
Step 5
After the above steps are completed, enter your url-scheme and click the ‘Check API callback’ to test it.
Note:
Each project you created on Cwallet Giveaway Tool will have a unique API key, and it will not change. Additionally, each app must be integrated separately.