Troubleshooting

Basic push issues

I don't receive any Push Notifications

Issues that cause not receiving Push Notifications are very commons. Here are the most recurrent causes:

  1. Make sure your Device ID (IDFV) exist in our database. You can check your device ID by looking at the last open date of your app. If it doesn't, your IDFV might have changed.
  1. Check if your Device is eligible to Push Notifications.

You can check the following fields in our database by either using our Test Tools or by exporting your device profile.

Token: if there is no Token attached to your device profile, you probably will not be able to get Push Notifications.

Opt-In Status: You can check the field system_push_optin. If its value is N, check if the push are correctly activated for the app.

Feedback field: If the value of the field feedback equals 3 or more, we consider this device profile as uninstalled and we will not target him anymore.

  1. Check the uploaded push certificate for your app.

In order to have a valid certificate, you should see a green checkmark.

Img

  • If the certificate status is Invalid password, it means that the password registered on the dashboard is not the good one. You have to change it.
  • If the certificate status is Connection rejected by iOS gateway, it means that the uploaded certificate is not valid, you have to re-generate it.
  • The certificate status could also be Multiple Certificate, it means that the uploaded certificate contains two certificates instead of one. Here is a link explaining the steps to follow: Multiple Certificates. If this status appears, please verify that the expiration date is not passed, otherwise, you will have to generate a new certificate and upload it on the Accengage dashboard.
  • Check your
  • Check that the development certificate box is checked if the certificate is used for dev environment.

Img

If you are not using a dev environment, this box should not be checked.

  • Also check that the certificate bundle id matches with the app bundle id on which you make your tests.
  • Verify that the uploaded certificate is well a push production certificate.
  • Then, verify that the certificate provisioning profile is well linked to the app provisioning profile.
  • Check the sending summary You can check the sending summary of the message, it shows the number of notifications we delivered to Apple.

Img

If the sending log shows zero, please check that your segment is actually targeting devices. For your information we target all the device profiles having a token and having the feedback field value < 3. If the sending log is different from zero, the message has well been sent. As a consequence, please check point 4.

  1. Check the sending environment Make sure the environment in which you perform your tests on Accengage interface is the good one (Dev or Live).
  2. Check the marketing pressure When you send push and no push is received, check the marketing pressure.

Img

In some cases, the sending limit may have already been reached.

  1. Check the push parameters

In the messages parameters, we have an option to display or not the push notification "If app is already in the foreground". Please make sure you allow this display if testing while the app is opened.

  1. Check the provisionning profile

The provisionning profile must contain the APNS information. If the provisionning profile has been created before the push certificate, you have to re-create the profile.

  1. Check your internet connection If you are using a Wifi connection, it may happen that the Networks blocks some communication. This can block the Push Notifications reception.

Advanced push issues

Push with attachment doesn't work

  1. Try to resend your Push Notifications once. Sometimes, it happen that attachments fail to download.
  2. In case of sound attachment, unfold your Push Notifications to check if the audio player is visible.
  3. Check if your attachment is valid. Check it doesn't exceeds size limit. Check also the file format is supported. See file limitations in this sections.
  4. Verify your integration of Push Notifications with media attachment. Be careful you check the exactly the same options.
  5. Verify your device is able to receive Push Notifications with media attachments (iOS 10+).
  6. If your attachment uses http, ensure your app allows http protocol.
  1. Ensure you are able to receive a Push Notification with an image as attachment. This is mandatory to be able to use the Carousel template.
  2. Verify your integration of Carousel Template. Be careful you check the exactly the same options.

Media Attachment good practices

Useful documentation

Here are the available documentations about iOS 10 :

File formats

  1. The file template should be as light as possible in order to optimize reception. Here are our recommendation for a maximum reach :

    • Less than 1MB for an image.
    • Less than 1.5MB for a video.
    • Less than 1MB for an audio format as well.
  2. Formats managed by our Dashboard are :

    • .jpg, .jpeg, .png, and .gif for templates images.
    • .MP3, .MP4, .AIF, and .WAV for audio templates.
    • .MPG, .MP2, .MP4, .AVI, .M4A, .M75, .M15 and .VFW for video templates.

Here are media samples we use during our testing phases:

Image, Video, Audio

Push Notification actions don't work

  1. Most of the time, it is due to a bad SDK Integration. Verify the SDK is properly integrated. For example verify that Accengage starts synchronously from the main thread.
  2. Check if you didn't prevented notification tracking. It would also disable web redirections and any tracking.
  3. Check if another SDK doesn't perform swizzling on UIApplicationDelegate or UNUserNotificationCenterDelegate methods. If yes, please disable Accengage's automatic integration by following this documentation.
  4. Go in the Settings of you application on our interface. Verify matching between the templates you use in your application and those that are configured in the interface. Check especially the good spelling of different elements in Categories or Custom Params...

Img

Deep linking issues

Ensure you well configured URL Scheme by following this documentation. You should create and whitelist your URL Scheme.

Test it from Safari by accessing your\app_url_scheme://_. It should redirect to your application main page.

ACCInfos usage and log issues

Install ACCInfos application

You can install ACCInfos app by using this link or quite simply by scanning the following QR:

Img

How to use ACCInfos app ?

  1. Ensure you allowed our application ACCInfos to exchange informations with your application. Documentation here
  2. Open the ACCInfos application
  3. Turn it into background
  4. Open your application and reach the code where the Accengage SDK starts
  5. Go back to ACCInfos application

If your device informations appear, you should also be able to receive SDK Logs.

If you need to send us your logs, just let ACCInfos application run in background and reproduce your issue. To send your logs to Accengage support team, please press the button "Send logs".

This process is totally secured, its goal is to allow our info App to connect to our SDK and track the device informations related to Accengage.

I have no information in ACCInfos

  1. Ensure you allowed communication between your application and ACCInfos. Documentation here. It is mandatory from iOS 9.
  2. Ensure you reached to SDK start by navigating in your application. Some actions may be needed.
  3. Check your integration. Integration documentation is here

Note that your device token cannot be generated until your Push Notification Registration isn't successful.

Certificate issues

Multiple certificate issues

To avoid multiple certificate issues, you need to correctly generate your .p12 file.

Below the two main errors if you have a multiple certificate:

  • Export two certificates in the same .p12 file.
  • Export your certificate AND the private / public key in the same .p12 file.

In order to correctly generate your certificate, please select only your certificate :

Img

Generate a .p12 certificate

  1. Generate a Push Notification certificate Here is our guide explaining how to create a push certificate (it needs to be done on a Mac computer).
  2. Upload your push certificate on Accengage

It needs to be uploaded on the Accengage dashboard in the Application settings: Settings > Manage Applications > Edit

I can't add a password to my certificate

To begin with, ensure you already requested your appropriate certificate on the Apple developers interface.

See our documentation to request the certificate.

Once you created your certificate you may download it as .cer file.

Img

Double click the downloaded file to add it to your Keychain.

Right click on the certificate in the Keychain access and export it as a .p12 file.

Img

Finally, save the .p12 certificate and enter your password in the prompt meant for that purpose :

Img

InApp issues

In-App messages are not displayed

It could happen that sometimes In-App messages are not displayed on your device. It could be caused for several reasons:

  1. Verify that the .xib files of the Accengage SDK are well added to the project and to the targets. It is the template files which are called when you want to display a banner or an interstitial.
  2. Verify that there is no lock which is integrated on the page in which you want to display the In-App .
  3. Verify your ** In-App settings** on the Accengage dashboard:
  4. check the capping, perhaps it has been reached already
  5. check that no other In-App are activated in the same time and with the same priority,
  6. check that your ** In-App landing page** is well registered on the dashboard,
  7. Verify if a marketing pressure has been activated for the In-App message.
  8. Verify your connection. Indeed, if your landing page is too heavy, it will take time to be uploaded on your device and a black screen will appear.

Analytics issues

My statistics are low

Causes of low statistics are multiple. Here are the most common ones.

  1. Check if you use an external library that also uses method Swizzling (typically Firebase). If both Accengage and such a library are implemented, you will have to disable method Swizzling on each side. On Accengage's side, please disable automatic integration and implement all required callbacks. On Firebase's side, please consult this documentation. If you don't have any reason to disable automatic integration please keep it enabled.
  2. Ensure you didn't disabled Push Tracking, by modifying Accengage's push suspended property.
  3. Ensure that you didn't disabled data Opt-In while managing GDPR feature. That causes SDK suspension and none data will be able to reach our servers.
  4. Ensure your SDK is started from the main thread and synchronously.
  5. You are in a restricted network that doesn't allow all requests.

Other issues

How to recover my Device Id (IDFV)

You can either recover your IDFV by using ACCInfos application or programmatically as explained here.

Deep linking in a map application

If you want to use a deeplink referring to a pre-selected path in a mapping application, here are the different URL to use:

You will have to choose the action URL scheme for In-App or browser for push.

Note that when you use spaces in your URL, you have to replace them by "+".

You can also refer to the Official Apple documentation explaining the native deeplinks in more details.

IDFA-using apps recommendations

On April 11th 2014, Apple updated its guidelines about the submission of applications that use IDFA.

If you enabled tracking within our SDK, you need to quote the related category while submitting the app to the Store.

Img

On the drop down that will appear, you need to check the following options:

Img

Devices model technical naming convention

In the device database, the Device model field is automatically tracking the technical Id of the device model on iOS. It looks like 6.2, 7.2...

In order to make the matching with the names of these device models here is a listing with the references https://www.theiphonewiki.com/wiki/Models%C2%A0"

How the development tokens are generated for an Accengage production app ?

You will find below the explanation about the development token that may be generated on a production application. These can generate issues of push reception.

When an application has a development provisioning profile and production partners ID, a development token (instead of a production token) will be generated by Apple.

As you have integrated the production partners ID, the device profile will be created in the Accengage production database where only production token are supposed to be generated.

At each sending push, tokens are analyzed by Apple.

  • Tokens which are not related to the certificate are rejected by Apple. Thus they get a feedback (or bounce).
  • In addition, these development tokens will disturb the push reception for the following users. Indeed, a development token will block the following users in the database.

To overcome this behaviour, you have to ensure that all the applications for which you integrate our production partners ID have a production provisioning profile.

Moreover, when we notice development tokens during a sending, we have an automatic process to purge the database the night after, and we remove the development tokens which are present in the database.

Please note that even if a purge is made and a user re-opens his/her application (with a development provisioning), a new development token will be automatically re-created for his/her profile.