I am creating my own custom SDK. Cocoa touch framework I will be creating. I want to be sure that my code is as per the apple guideline's and it is not violating any rules of it. So like any iOS app goes under approval, I want my SDK also approved by apple. Is it possible?
No, Apple only reviews complete Apps.
I'm currently making an app using Swift. It's an app similar to those of restaurant rating apps where users rate restaurants and leave comments. I have two questions.
1) Is it possible to launch my app on both Google Play Store and App Store if I choose to store my servers on CloudKit? If yes, which one is easier to integrate into my app?
2) If I choose to use Firebase, since I'm using Swift as my coding language, can I still launch my app on both Google Play Store and App Store?
Thank you very much in advance.
Typically anything "____kit" from Apple is a framework that's exclusive to the App Store. The features from SiriKit or HealthKit certainly cannot be launched on the Google Play Store.
If you're trying to deploy on both iOS and Android, I'd definitely choose Firebase. I use it myself on an app my company is creating, and have had no problems so far. It's owned by Google so you'll get great support on both iOS and Android.
Firebase is probably more powerful as well due to its connections into Google Cloud and Cloud Functions.
Hope that helped!
Is it possible and allowed to have A/B-testing for in-app-purchase for iOS and Android? I heard it's not allowed for iOS but didn't find an official document.
What about Android?
For iOS you can only test in app purchase in sandbox mode.
Now with the latest updates, iOS has launched percentage rollout feature so you can release your feature to partial users and see how your new feature is doing and then rollout to complete set.
And as for android- try going through below link and see if it helps:
https://developer.android.com/distribute/best-practices/develop/in-app-a-b-testing.html
Yes, it is possible to do A/B testing with in-app purchases but you will need to implement some custom code and either roll your own analytics platform or integrate with a third party.
If you are simply testing only the descriptions and or images that are displayed with your in-app purchase you can hard code the different variants on your client or fetch them from your own server instead of using the descriptions stored in iTunes Connect.
If you are experimenting with pricing you will have to create different versions of your in-app purchase in iTunes connect or Google Play and then your client or server can decide which price(s) to display and only show that subset of IAPs.
There are several third party analytics tools that work with iOS and Android that can help you track the performance of the different variants.
I'm currently uploading my App to the App Store and Apple is asking me if this app users IDFA. I'm using the latest Admob SDK or 6.8.0 and I don't know if it uses IDFA or not, and if it does which check boxes should I hit X.X
Image http://i.gyazo.com/a7d36f95ac0cc066e5654517d4ec2f3f.png
I'm having the same issue here and I was a bit afraid of checking the last box, since I have no idea what the 3rd party SDK will do with the data collected and if they will respect the Limit Ad Settings.
But I found a post by a Google Admob programmer, Eric Leichtenschlag, on their forums:
The Google Mobile Ads SDK and the Google Conversion Tracking SDK utilize Apple's advertising identifier introduced in iOS 6 (IDFA). While each developer is responsible for how they access device data, the SDKs use IDFA under the guidelines laid out in the iOS developer program license agreement, including Limit Ad Tracking.
Including Limit Ad Tracking. This is what the last box is all about. So you must check the that box if you use AdMob. If you use other SDK I strongly recommend checking if they respect the guidelines as well.
Since I run only ads (Google AdMob), I checked the first (Serve ads...) and last box (I, ___, confirm...). App was approved and released, no issues.
Source: https://groups.google.com/forum/#!topic/google-admob-ads-sdk/BsGRSZ-gLmk
If you are lazy to check on each third party SDK if they use or not the IDFA you can use this command:
fgrep -R advertisingIdentifier . (don't forget the dot at the end of the command)
Go to your project/workspace folder and run the command to find which files are using the advertising identifier.
Then you just have to look in the guidelines of those SDKs to see what you need to do about the IDFA.
I recently submitted an app to Apple's App Store. My app was built using iOS 12, Xcode 10, and Swift 4.2. My app uses Google AdMob for the sole purpose of showing Interstitial Ads. When prompted these question, this is what I did:
1) Does this app use the Advertising Identifier (IDFA)? ANSWER: YES
a) Serve advertisements within the app - CHECKED
b) Attribute this app ... - NOT CHECKED
c) Attribute an action ... - NOT CHECKED
I, (my name), confirm that this app ... - CHECKED
My app was accepted and "Ready for Sale" in less than 24 hrs.
You can track all calls to [ASIdentifierManager advertisingIdentifier] with symbolic breakpoint in Xcode:
Yes, it does. From the AdMob page:
The Mobile Ads SDK for iOS utilizes Apple's advertising identifier (IDFA). The SDK uses IDFA under the guidelines laid out in the iOS developer program license agreement. You must ensure you are in compliance with the iOS developer program license agreement policies governing the use of this identifier.
If you have Google analytics or Facebook api in you app, you need to check all of them to make sure it works!
Edit: This is an old answer - see comments or other answers for an exact answer.
In app store connect now if we are using ads in our app then we will answer as yes to Does this app use the Advertising Identifier (IDFA)?
further 3 questions will be asked as
if your using just admob then check the first one and leave other two unchecked. Other two options (2nd , 3rd ) will be checked if your using app flyer to show ads.
all options are explained with detail here
BTW, Yandex Metrica also uses IDFA.
./Pods/YandexMobileMetrica/libYandexMobileMetrica.a
They say on their GitHub page that
"Starting from version 1.6.0 Yandex AppMetrica became also a tracking instrument and uses Apple idfa to attribute installs. Because of that during submitting your application to the AppStore you will be prompted with three checkboxes to state your intentions for idfa usage. As Yandex AppMetrica uses idfa for attributing app installations you need to select Attribute this app installation to a previously served advertisement."
So, I will try to select this checkbox and send my app without actually no any ads in it.
It seems many indie developers like me are desperately looking for an answer to these questions for years. Strangely, even after 5 years this question was asked, it seems the answer to this question is still not clear.
As far as I can see, there is not any official statement in Google AdMob documentation or website about how a developer can safely answer these questions. It seems developers are left on their own in the mystery about answering some legally binding questions about the SDK.
In their support forums they can advice questioners to reach out to Apple Support:
Hi there,
I believe it would be best for you to reach out to Apple Support for
your concern as it tackles with Apple Submission Guidelines rather
than our SDK.
Regards, Joshua Lagonera Mobile Ads SDK Team
Or they can say that it is out of their scope of support:
Hello Robert,
On this forum, we deal with Mobile Ads SDK related technical concerns
only. We would not be able to address you question as this is out of
scope for our team.
Regards, Deepika Uragayala Mobile Ads SDK Team
The only answer I could find from a "Google person" is about the 4th question. It is not in the AdMob forum but in the "Tag Manager" forum but still related. It is like so:
Hi Jorn,
Apple asks you about your use of IDFA when submitting your application
(https://developer.apple.com/Library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/SubmittingTheApp.html).
For an app that doesn't display advertising, but includes the
AdSupport framework for conversion attribution, you would select the
appropriate checkbox(es). In respect to the Limit Ad Tracking
stipulation, all of GTM's tags that utilize IDFA respect the limit ad
tracking stipulations of the SDK.
Thanks,
Eric Burley Google Tag Manager.
Here is an Internet Archive link in case they remove this page.
Lastly, let me mention about AdMob's only statement I've seen about this issue (here is the Internet Archive link):
The Mobile Ads SDK for iOS utilizes Apple's advertising identifier
(IDFA). The SDK uses IDFA under the guidelines laid out in the iOS
developer program license agreement. You must ensure you are in
compliance with the iOS developer program license agreement policies
governing the use of this identifier.
In conclusion, it seems most developers using AdMob simply checks 1st and 4th checkmarks and submit their apps without being completely sure about what Google exactly does in its SDK and without any official information about it. I wish good luck to us all.
I’m trying to add in-app purchases to my Monodroid application. Has anyone successfully implemented this in their app?
I found the project AndroidInAppBillingDemo, but I’m not sure how to integrate this into my app.
I also found an article on Google Play Services which mentions in-app purchases, but I can’t find any example of how to do it.
I also found play.billing.v3. Has anyone successfully used this in their application?