Our documentation is changing, please click here to enjoy it!

Skip to end of metadata
Go to start of metadata

10.1 I can't generate my certificate

The .p12 certificate file format is mandatory to enable Accengage to send push notifications. Here is a guide through its generate, renewal and upload on Accengage.

GENERATE A PUSH CERTIFICATE

Here is our guide explaining how to create a push certificate (it needs to be done on a Mac computer).

UPLOAD YOUR PUSH CERTIFICATE ON ACCENGAGE

It needs to be uploaded on the Accengage dashboard in the Application settings : SETTINGS > MANAGE APPLICATIONS > EDIT (The Local Admin rights are required to access this section, if you don't have it please adress your internal Admin or your Project Manager).

10.2 Multiple certificate issues

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

Hereunder 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, select only one and just your certificate :

10.3 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 behavior, 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.

10.4 I don't find my Device ID (IDFV)

The Device ID (IDFV) is our unique identifier. It allows you to identify for sure the Accengage device profile that represent your own device. In case of test segments it is recommended to use this data as criterion. It is also necessary to get your device information from our application ACCinfos. 

You will find below the methodology in order to recover your IDFV on iOS :

  • Download the ACCinfos application by using the link or scanning the following QR :

(QR code available at this address http://sdk.a4.tl/A4SLogReceiver.html)

If the version of your device iOS 9 or higher, you will have to follow this first step :

Go to Settings > General > Device Management or Setting > General > Device Management (iOS11). You will have to approve the application.

This is a new feature since iOS 9, which increases the level of security on enterprise distribution applications.

  • Then, open ACCinfos application and minimize it.
  • Open your application and let loading. Once you are in the homepage, switch once again on the ACCinfos application.
  • You can recover your Device ID on the line IDFV

The following video explain the whole procedure :

Informations about your app are missing in ACCinfos ?

Since iOS 9, Apple has increased security to allow 2 applications communicate each other. If there is no information in our app ACCinfos, it means some steps are still required. Please refer to our technical documentation about this issue : Recover the SDK data from iOS 9


10.5 My device ID does not appear in the application ACCinfos

Since iOS 9, Apple secured the communication between two separate applications. In order to allow our ACCinfos app to retrieve the device ID, the application needs to allow the following steps during the SDK integration :
  1. You need to manage ATS exceptions in your Info.plist Documentation here
  2. The URL scheme 'bma4sreceiver' needs to be Whitelisted in the app Info.plist Documentation here

 

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.

Note that this activation is mandatory if Accengage needs to test the integration. We strongly recommend it in general in order to allow our technical team to properly investigate in case of unexpected behavior.

 

 

10.6 My URL scheme does not work

Since iOS 8 in order to be called from external resources the URL schemes need to be whitelisted in the app. If your URL scheme works with push notifications but not on inapp campaigns it could be that the Whitelist has not been done.

 

Here are the steps to follow, you can also refer to our technical documentation here 

1. You have to declare your URL scheme of your application.

 

For example, the URL scheme is accengage://home, so you have to declare 'accengage'.

To check if it is well declared, you can simply send your URL scheme via Safari:

- If the app opens, it means that the URL scheme is correctly declared.

- Otherwise, it means that the URL scheme is not stated in your application.

 

2. You need to add your URL schemes in the whitelist.

Since iOS 9, Apple has implemented additional security to prevent anyone to explore the applications that a user has installed on his device. Therefore, it is now mandatory to report on the whitelist URL scheme used for its implementation.

 

3. You need to handle the URL scheme interpretation in your application. (deeplink, browsing, action, etc)

Indeed, when we send a push with an action as URL schema, we transfer this information to the system. Then, your system transfers the information to your application. 

If these 3 criteria are not followed, the URL scheme will be ignored.

10.7 Check the SDK logs using our ACCinfos app

When you open an application that use our SDK, the differents fields in the app ACCinfos are updated to match the application informations. If these informations does not appears you won't be able to receive logs neither.

Informations about your app are missing in ACCinfos ?

Since iOS 9, Apple has increased security to allow 2 applications communicate each other. If there is no information in our app ACCinfos, it means some steps are still required. Please refer to our technical documentation about this issue : Recover the SDK data from iOS 9

Once application informations are visible in ACCinfos application you should be able to display logs in ACCinfos on your device.

 

However, by displaying logs on your device you can't use your application at the same time. Most of the time you probably would need to look at your application while displaying logs. With ACCinfos you have the possibility to display logs on an external web browser : just enter the IP address of your mobile device the browser.

Display logs on web browser

The iOS device and the device from which you look at the logs need to be on the same network and the address you have to use is the private one, not visible outside the network.

10.8 I do not receive 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.

 

Important

If you have uninstalled and reinstalled your app, it is possible your Device ID and/or your Token has changed.

 

You can check your device ID by looking at the last open date of your app (see screenshot right below), if it doesn't match, it probably means your device ID changed.

Here is the method to recover your IDFV : IOS: How To Recover Your Device ID (IDFV) On IOS

Please also make sure your segment is correctly targeting your device. For testing purposes, we recommend to target your device ID in your segment. You can also check the number of profiles found for the segment.

 

2. 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 export your device profile.

Token : If there is no Token attached to your device profile, you cannot receive push notifications.

Optin 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.

 

3. Check your connection, by testing with several wireless networks and 3G / 4G.

If you are using a Wifi connection, it may happen that the Networks blocks some communication. This can block the push notifications reception.

 

4. Check the uploaded push certificate for your app (SETTINGS > MANAGE APPLICATIONS)

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.

In order to have a valid certificate, you should see a green dot as a validation.

If you already have this green dot and you do not receive push, it could be caused by different factors: 

        - Check that the development certificate box is checked if the certificate is used for dev environment.

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.

 

5. Check the sending summary

You can check the sending summary of the message, it shows the number of notifications we delivered to Apple.

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. 

 

6. Check the sending environment

Make sure the environment in which you perform your tests on Accengage interface is the good one (DEV / LIVE).

 

7. Check the marketing pressure

When you send push and no push is received, check the marketing pressure (SETTINGS > SETTINGS > MARKETING PRESSURE AND DISPLAY DELAY)

In some cases, the sending quota may have already been reached, that could explain why you didn't receive any push notification.

 

8. 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.

 

9. 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.

10.9 My push action does not work

1. Bad Accengage's SDK Integration

Most of the time, it's about integration problem of our SDK. Try to remove it from your project, and reintegrate it in the most recent version if possible.

 

2. Verify settings of your in Accengage's interface

Go in the Settings of you application on our interface.

Verify correspondence 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...

10.10 In-app are not displayed

It could happen that sometimes in-app 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 :

- check the capping, perhaps it has been reached already

- check that no other in-app are activated in the same time and with the same priority,

- check that your in-app landing page is well registered on the dashboard, 

 

4. Verify if a marketing pressure has been activated for the in-app message.

 

5. 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.

10.11 Best practices for iOS 10 Media Attachments

Since the release of iOS 10, it is possible to integrate medias (images, video and audio) in your push notifications.

In terms of technical integration in order to enable the handling of these attachments, here are the available documentations :

User Guide 
Apple extension 
Media attachments 
 
This new iOS feature allows a new experience in terms of customization and interaction with your users. However, in order to take the full benefit of it, there are several factors to get aware of and that do not depend on Accengage, but on iOS constraints.

 

Indeed, during your tests, if the push is received but not the media, it can be due to these possibilities:
- A bad connection
-  An incompatible with the feature

- A heavy media : your device has failed to display the attachment
- Integration of the iOS 10 extension is incomplete
 
Here are the best practices we have noticed during our testing phases of the available functionalities, to be taken into account when integrating the templates with your notifications:

  1. Have an iPhone 5S or higher
  2. A good internet connection: the reception of your iOS 10 attachement will widely depend on this. The server on your device will attempt to load the template for up to 10 seconds. If it fails, the message will be sent without the attached media.
  3. The 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.
       
  4. 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.
     
  5. Here are media sample we use during our testing phases:
    Image 
    Video 
    Audio

10.12 How to add an image into a push notification ? 

 


iOS 10+ supports rich push notifications. On these, you can add images or others medias. To display an icon you simply have to import your desired image when creating your push notification.

It is on the 2nd part "Message Content : Design your push notification and select which actions should be triggered". Just select the template "Picture" and import your image file :

About the icon

Currently on iOS 11 it is not possible to resize or change image aspect ratio of this thumbnail. Some native iOS application may, however, have larger icons.


10.13 What are the options that you need to check when you submit an application using the IDFA ?

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.

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

10.14 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 

10.15 How to make a deeplink for a path in a mapping 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:

- Maps (only available on a geofence trigger):http://maps.apple.com/?saddr=#{deviceLat},#{deviceLong}&daddr=#{targetLat},#{targetLong}

- Google maps (for ones who have the application):

  • Address : comgooglemaps://?daddr=Accengage,+31+rue+du+quatre+septembre,+Paris
  • GPS coordinates: comgooglemaps://?daddr=latitude,longitude

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.

10.16 I can't add a password to my certificate 


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

https://developer.apple.com/account/ios/certificate/

(See our documentation to request the certificate).

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

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

How to access to the Keychain tool ?

You may access to the Keychain Access tool in utilitaries -> keychain access

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

What is .p12 files ?

.p12 is the certificate file format you need to build and publish your app on the Apple App Store.

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


 


10.17 I don't find my Bundle ID 

There are multiple way to get the Bundle ID of your application. 

In Xcode

You also could get your Bundle ID in Xcode.

You just have to select your project target. The bundle is written in the "Identity" section as shown on the following screenshot :

iTunes Connect

Bundle ID is also available on Apple Developer's interface (iTunes Connect, tab "App Store").

 

You could also get it by using the ACCinfos application

Take a look on this article, : 10.4 I don't find my Device ID (IDFV) . You will see the Bundle ID on the second line (under Application name)

  • No labels