IN_APP_NOTIFY does not seem to be resent?

We’ve had android in-app purchases working great for awhile now in the majority of cases. However, I’ve recently noticed that if I don’t send CONFIRM_NOTIFICATIONS back to Google I do not receive any more IN_APP_NOTIFY messages.

I’ve also noticed that if I force close the app immediately after making a purchase my BillingReceiver is still created and handles the message even though I’ve called unbind on the service (In this case, obviously, no confirm notifications message is sent back).

Can anyone shed light on if either of these things are correct? I assume that I should continue to receive IN_APP_NOTIFY messages but I’m not sure if the BillingReceiver being created after I’ve closed the app being the correct behaviour.

Thanks.

Some things I’ve found out that may help others who come across this.

(IAN = IN_APP_NOTIFY)

  • IAN messages do not seem to be resent for the android.test IAP products
  • The frequency when doing a real purchase of a resent IAN message is very variable. The next one is mostly within 15mins but i’ve waited over an hour with one not being sent.
  • There is an accepted bug in Google that a small number of purchases are not being sent the IAN message. See here. This means the user will never receive the item.

Regarding the last point, sending a restore transaction message can resend any IAN messages that have not been confirmed again, even for unmanaged items. However you should really think hard about using this as it’s not what it’s designed for and can cause additional problems, for more details on this aspect see this link.