Facebook SDK - subscriptions with trial period and discount period - facebook

We are trying now to add Facebook SDK to our android and ios applications and using received data to optimize facebook advertisment.
But now it's not clear for me how facebook analytics take account of trial, discount and renewal subscriptions.
I made some tests and it seems for me that all this subscription types just summarized like general subscriptions.
But this is not what out marketing team want see in facebook analytics.
Is it important for them see trial subscription as 0 on the profit chart at trial period and as full price after trial period.
And same situation for discount subscriptions.
Are my assumptions correct?
Or do I have to send subscriptions purchase events some other way to get necessary results?

Related

How can i change plan for subscription in paypal api

I want integrate paypal to my membership site. After i checked paypal documentation i realised that i cant find any information about how to change user subscription plan, for example some users become with "basic" plan but after asked to use "pro".
Can't find this function in api docs https://developer.paypal.com/docs/api/subscriptions/v1/#subscriptions
What is best practice to do it?
Per https://developer.paypal.com/docs/subscriptions/customize/revise-subscriptions/
You can upgrade or downgrade a subscription by changing the plan and/or quantity of the subscription. Changing from one plan to another is allowed only across plans within the same product.
For example, you can revise a subscription from a $10 basic plan to a $14 premium plan, or revise a five software licenses monthly subscription to 10 licenses per month.
Subscription revisions require the buyer's consent. If the buyer doesn't consent, they continue to be billed according to their current subscription. All successful revisions are effective in the next billing cycle.
It's documented here, although sometimes the "Revise Subscription" section is not rendered correctly.
https://developer.paypal.com/api/subscriptions/v1/#subscriptions_revise

Facebook ios sdk doesn't track standard purchase events

I have auto-renewable subscriptions in my app. These subscriptions come with 3-7 days trial (money charged only after this trial period). I didn't place any custom code for event tracking in source files, and facebook tracks all of these events just fine, except purchases. I thought that was because I've never had purchase events untill today, but today somebody subscribed, and "purchase" event still not tracked. Instead "Initiated checkout" event was tracked with value = subscription price.
Question is why it is not tracked? I am planning to create an advertising campaign with purchase events optimization in facebook, but if they are not recognized, then I can't do it.
Auto-renewable subscriptions can't be tracked by the Facebook SDK since the customer doesn't get charged in response to in-app events. Payment for your subscriptions occur after a trial conversion or on a renewal, and happen regardless of whether the user has your app open at the time.
In order to accurately track auto-renewable subscriptions in Facebook, you'll need to save the purchase receipt from Apple on your server, and periodically refresh it with the /verifyReceipt endpoint. From this response you can determine if your free trial converted or the subscription renewed, then, finally, you can track the conversion through the Facebook API from your server.

iOS App rejected because of Braintree Payment gateway integration for selling Digital content

My app is posting jobs.
User can post his jobs by paying some amount for each job.
And If he subscribes for monthly, he can post unlimited jobs.
We can do monthly subscriptions using In App Purchase. My question is how to charge user for each job he posts with out Monthly subscription.
I have implemented it by using Paypal integration. Apple rejected by stating that, Digital content can't be sold using third party payment gateways. Go for In App Purchase.
How to implement it by using In App Purchase. What kind of subscription I can go for to charge the user each time he posts.
Thanks in advance.

StoreKit on iOS - autorenewable subscription - How to know whether it is a free trial or not?

In iTunes Connect it is possible to give a free trial period for autorenewable subscriptions.
App > Manage In App Purchases > Subscription Basic > 1 Month > Offer a free trial?
How can I get this information on the client? SKProduct does not have any information about this as I can see. Since we're having a marketing campaign it is very confusing for the end user to not see information about the product has a trial period.
Of course it is possible to fetch this kind of information from a server I maintain, but then we'll have the overhead with updating both our server and iTunes Connect. So I don't accept this kind of answer unless it is wired up to retrieving that trial period information from Apple's services.
TLDR; It is not possible. You need to manage this information yourself.
When you process an SKPayment you get back a receipt. You should verify those receipts regularly for subscriptions (e.g. before downloading new content) as the user might have cancelled the subscription. When the user does cancel the subscription or the subscription expires you get back a descriptive error when verifying the purchase's receipt.
Moreover the receipt gives you all the information you need: for a given product you know which trial period you grant. Therefore when a purchase is made you could store the purchase date given from the purchase receipt in your model object or in the NSUserDefaults or in the Keychain alongside the purchase data. At this point you know when the trial is expired and verify that the subscription is still valid. If you can't you might want to disable access to the content until you're able to do so.
For more informations about purchase receipts and subscriptions check out the In-App Purchase Guide by Apple.
On the client side you usually identify the different products and characteristics by their product identifier as the App Store does not deliver certain information such as subscription period and free trial period.
So if your product ID is for example:
com.domain.app.product_paid1month_free7days you split the ID on the client side and know that the paid subscription duration is 1 month and the product has a free trial period of 7 days.
Of course one approach would be to transmit the product ID to your own server to get its characteristics as response. This way you can maintain the product list continuously without updating the binary and across versions.
SKProduct > introductoryPrice
Available since iOS 11.2
https://developer.apple.com/documentation/storekit/skproduct/2936878-introductoryprice?language=objc

Does the iphone app store provide instant payment notification to a url?

I'm considering posting an app to the iphone app store, but I'm curious before I start paying them for the priviledge of posting the app, whether they provide instant payment notification to a url?
Generally, I've used paypal in the past for applications where right after payment my web site is secretly notified of a purchase. I take this notification, with the users email address and product purchased, to send the purchaser information required for the application.
Is this possible with apple? With the iphone app store? What about the upcoming mac store?
thx
No. Apple handles all contact with the customer, including delivery of the app. At the end of each day, week and month they give you summaries of sales of each product in each country. It's nothing like selling with PayPal. The iOS and Mac App Store are exactly the same in this regard.
The nearest you can get is having your app connect to your server when it first runs, although if you're doing this for no other reason than to track your users, you'll have to check it's allowed under the developer agreement.
First, no, you do not receive instant notification. You can grab a daily report on the web the following early morning (in the US), you can use the free app that Apple provides to retrieve the information, or you can use a variety of third-party tools to do the same.
Second, you will never receive any information whatsoever about the people who buy your app, so no, you can't send purchasers anything.
The Mac App Store appears to use the exact same arrangements.
If you use in-app purchase, you can get an instant notification to your server for the in-app purchase, but not for the initial download of the app.
If you just place a paid app in Apple's App store, you get no direct sales or customer information of any kind, only after-the-fact daily and weekly sales trend estimates, and monthly sales reports a few weeks later. Then Apple then pays you 70% of what they reported up to 45 days after the monthly close. You don't pay them. They pay you. And with over 300K apps in their store, and no other store doing anywhere near as well, they need no privileges granted from any developer. It's more like take it or leave it.