Integration Checklist
Our documentation has moved. You can find an updated version of this articlehere!



Translated by Microsoft Translator®: Chinese Simplified, Chinese Traditional, Japanese, Korean, Russian

Basic Integration:

    •    Verify the token and secret are for the correct game.

    •    Verify the use of the latest SDK: http://help.upsight.com/api-sdk-reference/downloads/.
 
    •    Verify you’ve updated the game version in the Upsight Marketing Dashboard (Game Settings)


Open Calls (Very Important):

    •    Verify your game sends a single “Open” call to Upsight upon launch. 

    •    Verify your game sends a single “Open” call to Upsight when it is restored from the background to the foreground (i.e. resumed).


Placements:

    •    Verify Content Call at game launch. VERY IMPORTANT

    •    Verify Content Call on resume (app coming into the foreground) VERY IMPORTANT

    •    Verify all other placements. 

Content Units (All):

    •    Verify your content units in the Dashboard are linked to the proper Placements in your game, otherwise they will not appear, or will not appear in the correct place in the game.

    •    Verify your content units in the Dashboard are targeted at the correct segments (not leveraging segmentation will result in your content unit being sent to everyone.) 

    •    Verify the scheduling and frequency capping are set the way you want them to be set. 

Content Units that require support in-game code:

Rewards: 

    •    Verify that the specified reward is actually given when the reward is accepted by the player.

    •    Verify that the reward cannot be triggered more times than you want. 


Virtual Goods Promotions (VGPs):

    •    Verify that tapping on the VGP content unit actually initiates the purchase sequence for the appropriate In-App Purchase item. 

    •    Verify that if the player purchases the item, an In-App Purchase tracking call is sent to Upsight (see “In-App Purchase (IAP) Tracking”, below).


Content Units that do not require support in the game code:

Opt-In Data Collection:

    •    Verify that the user can actually fill out the data and submit it.

    •    Wait two hours, then verify the data submitted can be downloaded from the Upsight Marketing Dashboard. 


Interstitial Ads:

    •    Verify that the ad appears.

    •    Verify that the filtering you desire is in place and working.


More Games Widgets:

    •    Verify that the More Games Widget appears.

    •    Verify that the “Featured Game Preroll” (i.e. a full screen interstitial ad that appears before the actual More Games Widget) is enabled or disabled, according to your preference. 

    •    Verify the More Games Widget is showing the type of games you want (Internal Games, Advertised Games, or a combination of the two). 

    •    If you are showing advertised games, verify the filtering is working the way you want.   

    •    If you are using a Notification Badge to put a red number on your More Games Widget button, verify it appears correctly. 


Announcements: 

    •    Verify the Announcement appears. 

    •    If the Announcement has a link to the review section of the app store, test the link to verify it works and sends the user to the correct location.

    •    If the Announcement contains a URL or URI, test the URL or URI to ensure it goes to the proper location. 


Internal Cross-Promotions:

    •    Verify that  the Internal Cross-Promotion appears. 

    •    Verify that tapping on the Internal Cross-Promotion takes the user to the appropriate place in the App Store. 


In-App Purchase (IAP) Tracking

    •    Verify that whenever the player makes an In-App Purchase, an IAP tracking call is made to Upsight. Note: this call should be made WHETHER OR NOT the purchase was triggered by a Upsight content unit. 

    •    iOS only: Verify the “price” parameter in the IAP tracking call matches the price of the IAP item. 

    •    iOS only: Verify that receipt data is included in the IAP tracking call.


Push Notifications

    •    Verify you have uploaded the correct APNS (iOS) or GCM (Android) certificate to the Push Dashboard. 

    •    For iOS, Verify that the certificate type (Development or Production) matches the type of build you are attempting to push to. 

    •    Verify your game is registering for push each time it launches (it is not necessary to register for push on resume from background).

    •    Verify that a push sent from the Push Dashboard to your device actually appears on the device when the app is completely closed (i.e. completely killed and not running in the background at all). 

    •    Verify that a push sent from the Push Dashboard to your device actually appears on the device when the app is running in the background. 

    •    Verify that a push sent from the Push Dashboard to your device actually gets to  the device when the app is running in the foreground. (Note that on iOS, the operating system does not show a pop-up in this situation.). 

    •    Verify that when the app receives a push notification, it sends a “Push Open” call to Upsight. 

    •    Verify that you can use the “Push to Content Unit” option in the Push Dashboard. 

    •    Verify Push to Content Unit works when the app is not running at all. 

    •    Verify Push to Content Unit works when the app is running in the background.

    •    Verify Push to Content Unit works when the app is running in the foreground. 

    •    Verify that you can use the “Push to URI” option in the Push Dashboard. When the user opens the push notification, the game should launch and the specified URI should immediately be launched. 

Custom URL Schemes (Optional):

    •    If you have implemented a Custom URL Scheme, either for use with Announcements or Push Notifications, you should test the URL Scheme. 


COPPA

    •    If you have implemented the “Opt Out” flag for COPPA compliance, verify that the Open call contains the opt_out=1 parameter when the user should not be tracked.


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Troubleshooting Tips

Basic Integration 

    •    Verify the token and secret in your game’s code match the token and secret in the Upsight Marketing Dashboard. Make sure that you’re looking at the correct version of your game in each case: iOS vs. Android, Free vs. Premium, Phone vs. Tablet, etc. A mismatch will cause Upsight to fail in numerous ways. Your token and secret can be found in the “Game Settings” section of the Upsight Marketing Dashboard.

    •    Please always use the most recent version of our SDK to get the most recent feature improvements and bug fixes. Check our SDK page: http://www.upsight.com/sdk to see if there is a more recent version of our SDK.
 
    •    Setting up your Game Version (this is your game version i.e. 1.2.13.21) that is set up in your IDE to control versioning of your game. By constantly keeping an updated list of game version, you enable the ability to target different versions of your game out in the market.


Open Calls 

    •    Opens are vital function to Upsight’s platform and failure to implement them will cause your session metrics (and all metrics based on number of sessions) to be incorrect, and cause numerous other Upsight failures. Open calls on launch and resume are absolutely mandatory for an Upsight integration. 

    •    To set up the Open calls in your game’s code, please see the “Opens” section of the appropriate Getting Started Guide for the SDK or Plugin you are using.

Placement 

    •    To set up the Placement calls in your game’s code, please see the “Content” section of the appropriate Getting Started Guide for the SDK or Plugin you are using. 

    •    Your game should make a Content Call (usually to “game_launch”) when launched. This is vitally important, as it is often very useful to be able to show the user a content unit as soon as the game starts up. 

    •    Your game should make a Content Call when restored from the background to the foreground (usually also to “game_launch”). Omitting this is a common integration error and represents an enormous loss of potential revenue and/or opportunity to connect with your players. Approximately 70% of Upsight game “launches” are actually resumptions from background. 

    •    You should test each of the Upsight placements in your game. When you arrive at the point in your game where the Upsight placement should trigger, verify that a Content Call is made and that the Placement Identifier is correct. 

    •    To see if a placement has been called, check your console log for a call to http://api2.playhaven.com/v3/publisher/content/. This call should contain a placement_id= parameter that should be set to the name of the placement. 


Content Units 

    •    For instructions on setting up content units in the Upsight Marketing Dashboard, you can search our Help Center. Type the name of the content unit (e.g. More Games Widget) into the search bar and you will see a list of relevant articles. 

Content Units that require support in-game code:

Rewards: 

    •    For instructions on setting up a Reward in the Upsight Marketing Dashboard, see this Rewards article.

    •    To set up the Reward in your game’s code, please see the appropriate Getting Started Guide for the SDK or Plugin you are using.

    •    Basically, when the player accepts a reward, a Reward event is triggered which calls a certain function/method. This method is passed a string (the name of the reward) and the quantity of the reward. In this function/method, you are responsible for implementing the code that actually gives the item to the player. We also recommend sending a message to the console log with the name and quantity of the reward to assist in debugging and verification. 

    •    To control the number of times a Player can see (and thus collect) a reward, you may want to use frequency capping. To enable, go to your reward content unit in the Upsight Marketing Dashboard  


Virtual Goods Promotions (VGPs):

    •    For instructions on setting up a Virtual Goods Promotion in the Upsight Marketing Dashboard, see this article on VGPs. You will first have to set up the good to be promoted in the iTunes/Google Play store, then set it up as an IAP Product in Game Settings, then set up the actual VGP Content Unit. 

    •    To set up the VGP in your game’s code, please see the “Virtual Goods Promotion” section of the appropriate Getting Started Guide for the SDK or Plugin you are using.

    •    To test VGP Content Units, see this article for iOS and this article for Android

    •    To check whether an IAP tracking call is being made after the player purchases a VGP, see the section on “In-App Purchase (IAP) Tracking” in this document. 

Content Units that do not require support in the game code:

Opt-In Data Collection:

    •    For instructions on setting up an Opt-In Data Collection content unit in the Upsight Marketing Dashboard, see this article.

    •    For instructions on downloading the data, see this article. Remember that it can take a couple hours between when the data is gathered from the device and when it is available for download. Note also that the Opt-In Data collection must be “Published” rather than merely “Saved” (i.e. visible only to test devices) for the inputted data to be available for download. 

Interstitial Ads:

    •    For instructions on setting up an Interstitial Ad in the Upsight Marketing Dashboard, see this article. 

More Games Widgets:

    •    For instructions on setting up a More Games Widget in the Upsight Marketing Dashboard, see this article

    •    To set up a More Games Widget Notification Badge, also called a Notification View  (i.e. a small red number that appears on your “More Games” button to show the number of new games available) please see “More Games Widget” section of the appropriate Getting Started Guide for the SDK or Plugin you are using.

    •    Putting a Notification Badge on your “More Games” button increases traffic to that button greatly (~300% in some of our tests). 

    •    Note that in order to promote internal games in a More Games Widget, they must be “Live” in the Upsight Marketing Dashboard.


Announcements: 

    •    For instructions on setting up an Announcement in the Upsight Marketing Dashboard, see this article

    •    Note that some older versions of the Upsight SDK (pre 2.x) do not support URI links in Announcements.


Internal Cross-Promotions:

    •    For instructions on setting up an Internal Cross-Promotion in the Upsight Marketing Dashboard, see this article

    •    Note that if a device has installed and run a given game (“Game X”), then “Game X” will never appear in an ad or cross-promotion on that device. (To test an Internal Cross-Promotion on a device that has already run that game, make the device a Test Device. Then this suppression will be turned off.) Note that to do an Internal Cross-Promotion for a game, it must be “Live” in the Upsight Marketing Dashboard.


In-App Purchase (IAP) Tracking 

    •    IAP tracking is vital to being able to target your users based on amount spent.

    •    Failing to make an IAP tracking call for every single user purchase is a common Upsight integration error. Failure to do this will mean that Upsight’s targeting by user spend will be inaccurate. 

    •    To check if you have IAP tracking calls implemented correctly, make an In-app purchase in your game (either the game store or via VGP). Make a note of the time when you make the purchase. Open your console log viewer, and look for a URL that begins with: http://api2.playhaven.com/v3/publisher/iap/. Check the timestamp for this log and verify it matches when you made your purchase. In the URL look for the resolution parameter and verify it is set to resolution=buy. Also check your logs and verify that there are no additional IAP calls for this purchase with a resolution of buy (you may see resolution=cancel if you had canceled the purchase before successfully buying it). You only want to have a single IAP tracking call each time a purchase is made. Extra IAP tracking calls will inflate your numbers.

Receipt Verification

    •    iOS Only: to verify that receipt data is included in your IAP tracking call, check for a receipt= parameter in your IAP tracking call. It’s a very long parameter that will look like a stream of random characters. Failure to include receipt data with your IAP Tracking Call will mean that fraudulent transactions will be included in your Upsight revenue data, which will distort your metrics and cause targeting by user spend to be inaccurate. 


Push Notifications 

    •    To set up Push notifications, please see the “Push” section of  the appropriate Getting Started Guide for the SDK or Plugin you are using. 

    •    To verify your game is registering for push each time it launches, check your console log for a call to: http://api2.playhaven.com/v3/publisher/push/ upon launch. This call should NOT contain a message_id= parameter. If it does, it is a Push Open call, not a Push Registration call. If the application is not sending a Push Registration call, push messages to that app will probably fail. 

    •    On iOS, once the app has registered for push notifications, it is a good idea to look in Settings -> Notification Center and scroll down and find your app. If you cannot find your app in this list, it means that it did not register for push notifications successfully. 

    •    Note that on iOS, the operating system does not automatically show a pop-up when a push notification is sent to an application that is running in the foreground. So it may appear that the push notification did not arrive, when in fact it did. We recommend placing a message in the console log in this situation, so that it is easier to verify that the push actually arrived. 

    •    To verify that your application is sending. a Push Open call to Upsight when receiving a push, check your console log for a call to: http://api2playhaven.com/v3/publisher/push/ upon receipt of the push. This call should contain a message_id= parameter. If it does not, it is a Push Registration call, not a Push Open Call. If Push Open calls are not being sent, the push metrics in the Upsight Push Dashboard will not be accurate. Also, failure to send Push Opens probably means that the Upsight push handler in the app is not seeing the push notifications, and that functionality like Push to Content Unit and Push to URI will fail. 

    •    When you use the “Push to Content Unit” feature, upon opening the push notification the game should launch and the selected content unit should immediately be shown. When testing this, be sure to select a content unit that will be shown on the device you are using to test: don’t use a content unit that has segmentation, frequency caps, or other restrictions that might make it not appear. Often it is useful to create an announcement content unit specifically for this purpose (and attach it to a placement that is never actually called in the game). 

    •    “Push to URI” feature: When the user opens the push notification, the game should launch and the specified URI should immediately be launched. To test this, you can use URIs like http://www.google.com or fb://profile (which launches the Facebook app, if installed, opening to the profile page).

    •    When testing push notifications, it is important to test all three of the following conditions:

          1. The app is completely closed.

          2. The app is running in the background.

          3. The app is running in the foreground.

The reason for doing this, is that the code path in your app for handling each of these situations is different, and the way the operating system handles the situation is different. So it is very possible to have push notifications working in one of those situations and not working in another.  


Custom URL Schemes (optional)

    •    To test whether a Custom URL Scheme on iOS is working, you can simply type each URL (e.g. myapp://open-the-store) into the Safari browser. On Android, it is more complicated and you will have to refer to “Intents and Intent Filters” in the Android documentation.


COPPA 

This only applies to the following versions and above of the our SDK or Plugin:

              •    iOS SDK:      1.21.1 +
              •    Android:          2.1.1 +
              •    Unity Plugin:   2.0.0 +


    •    To set up the COPPA compliance opt-out, please see the “COPPA” section of the appropriate Getting Started Guide for the SDK or Plugin you are using. 

    •    If you have implemented the “Opt Out” flag for COPPA compliance, verify that the Open call contains the opt_out=1 parameter when the user should not be tracked.

    •    Note that setting this “Opt Out” flag has dramatic effects on the sorts of content that can be shown to the user. No ads will be shown to users who have this Opt Out flag set.