Setting OneSignal Small Icon

As many koders have trouble making this work, here is a helping tutorial.

The easiest way is to create a logo with transparencies and place it as the main application icon in the Screen1 properties.

Then, in OneSignal message, just write “ya” in the small icon option and send the message.
008

These are two different devices results:

Android 7.1.2 Nougat
010

Android 5.1.1 Lollipop
011
012

Now, if you prefer to keep your app icon and use a different icon to send notifications, you will have to decompile the app. In this tutorial, I used APK Editor Studio.

Remember to correctly configure the tool, setting the path to Java and including your keystore, so that the app is recompiled, signed and aligned.



Choose the option to open the APK and let the tool do its work.

Navigate to the res/drawable folder, right-click and choose the option to open the directory.
On the screen that opens, drag and drop your png image and then close it.

Check if the image is really there…

Then, choose the option to save apk and, again, let the tool do its work.

Now, in OneSignal message, just write the image name (without “.png”) in the small icon option (in my example “cruzbranca”) and send the message.
007

These are two different devices results:

Android 7.1.2 Nougat
009

Android 5.1.1 Lollipop
011
013

*Remember that you will have to follow this procedure every time you are going to release a new version of your app.

9 Likes

It’s seem easy, but is there another method because many users Including me not have Pc.

Edit: I have not tried but I think so it is possible using this app

3 Likes

What about higher versions of Android like Android 9 and 10?

I have tried this, in Android 9 it shows a grey circular spot.

2 Likes

The first method, in this case, would be the best option , or use an app which can decompile/compile apks.

Screenshot_20200621-080216
Screenshot from my MotoG7 Play with Android 9

(This is from the app I developed for the church where I congregate)

This should be the result from API level 23 and higher.

1 Like

Is it necessary to make upload a transparent background image ?

1 Like

Yes. It will only work if it’s a png file with a totally transparent background.

Can you tell why there is a grey circular spot instead of app icon.

It is coming when i use “ya” in small icon option and without it (when kept small icon option blank) a default bell icon is showing.

Android 9.

How to fix this?

If your app icon is this one on the right bottom corner of your screenshot, it’s been correctly shown in the notification.

Remember that what is shown is the shape of your icon and not your icon itself.

  • Defult icon = bell shape, so we see a bell;
  • My icon = cross shape, so we see a cross;
  • Your icon = round shape, so we see a circle.

If you want to keep a circle icon, you will need to make full transparencies inside of it. For example, the app initials “MG” in big transparent letters.

2 Likes

Is it possible to fix this in Kodular or from One signal without decompiling it in apk studio?

It would be really nice if we could upload or set a link to an image as it is possible with the large icon option. But I’ve understood that the small icon setting can only happen if the image is in your app package, unfortunately.

It would be possible if we could upload images to res/drawable directory as we can upload to assets. As it is not possible, I see that, nowadays, decompiling/recompiling apks is easier due to existing tools, so I believe it’s worth learning the procedure.

3 Likes

Nice guides.

1 Like

Hi, i have a problem, when i decompile my apk, add my .png image to res/Drawable, and re-compile it, i can’t install my apk.
Please help!
Im using Android 10

So, does this only use what you have set as your app Icon? I would love to use this NotificationIcon for the notification, but my app Icon is much larger and set up so that it’s adaptive. This winds up just showing a grey square when I type YA even though I have my 24x24 png in my assets. Is there any way to use a different icon for the notifications?

Can we give the password of our choice…