iOS 8 Suggested Apps - How does it work? - ios

Over the past little while I’ve been working with a client who would like to leverage Apple’s new Suggested App feature on iOS 8. The client's goal was to display a suggest app lock screen notification any time a person passes by a specific geo-location. After spending some time trying to find a concrete answer to what level of control (if any) the client would have over Apple’s Suggest App feature, it was decided to send our questions directly to Apple.
Below is copy of the questions I sent to Apple.
Hello,
For our next app release, my team and I would like to leverage Apple's Suggest App feature provided in iOS 8.
We've taken a look through the iTunes Connect portal and we haven't been able to find a configuration panel anywhere which allows us to control when/where our app should appear as a suggested app.
Questions:
Is it possible for us to specify the conditions that out app will appear as a suggested app for users who haven't downloaded it yet?
Can we specify a geo-fence that will display our app as a suggested app on a user's lock screen?
If we have no control over Apple's Suggested App configuration, under what conditions will our iOS appear on a user's lock screen as a suggested app?
STEPS TO REPRODUCE
Turn on your phone
Enable suggested apps
Enable 3G
Lock your screen
Walk past a region.
Expected Result: A suggested app appears on the iPhone lock screen.

Here is the response I received directly from Apple Developer Support Team:
Hello,
Location relevant Apps are recommended on the lock screen and in the App Store based on a number of factors, including their popularity at the location, and there is no mechanism or process by which an App developer can add their App to the list of recommended Apps.
However, if your iOS App is directly related to the location or venue (such as a mall guide iOS App which is published by the mall owner or operator), and you believe your iOS App’s relevance warrants it being included the list of recommended Apps, then you are encouraged to submit an enhancement request via http://bugreport.apple.com/, and request that Apple consider whether your iOS App should be included in the list of recommended Apps for that location.
You should provide as much detail in the ’enhancement request' about the App and venue/location as possible, such as the App ID, App Name, URL to the App on the App Store, venue name, venue location (address & lat/lon), the relevance (if any) of your iOS App to the venue/location, and relationship (if any) between you as the developer and the owner/operator of the venue/location.
Submission of an enhancement request does not guarantee that a particular iOS App will be added to the list of recommended Apps for a venue or location, and the sole feedback from Apple on the request will come through the http://bugreport.apple.com/ bug report system.
Regards,
Apple Developer Technical Support

Related

Webviews on iOS

The company, that I work for, wants to develop mobile apps using react native. The idea is to reuse the content on the websites instead of creating native views.
The current decision is to implement the apps like follows:
Create a react native app with bottom navigation and webviews as the
content.
Each time the user clicks on a different section of the
navigation, the webview loads a different page of the website into the web
view.
For example the login functionality will be the login page from the website in a webview.
Is this sort of apps allowed to be published in the appStore? My thinking is that the app will not be allowed because the content of the pages can be changed!
No, you are not allowed to wrap a web app in a WebView and release it apple app store (btw: Google Play may reject your app too eventually).
you can make this if the web app is a small part of your whole app (for example: some food delivery apps use a WebView for chat with support, which is totally acceptable)
4.2 Minimum Functionality
Your app should include features, content, and UI that elevate it beyond a repackaged website. If your app is not particularly useful, unique, or “app-like,” it doesn’t belong on the App Store. If your App doesn’t provide some sort of lasting entertainment value or adequate utility, it may not be accepted. Apps that are simply a song or movie should be submitted to the iTunes Store. Apps that are simply a book or game guide should be submitted to the Apple Books Store.
you may get this rejection letter:
If you develop such an app you will get the following feedback from apple:
We found that the experience your app provides is not sufficiently different from a web browsing experience, as it would be by incorporating native iOS functionality.
While your app content may differ from your web site or other existing sites, the experience it provides does not differ significantly from the general experience of using Safari, as required by the App Store Review Guidelines.
You may wish to provide convenient access to a web property for a select or niche group of users - and may enhance that experience with features such as Push Notifications. However, such apps do not include enough native iOS functionality to be appropriate for the App Store. As an alternative, you may wish to provide instructions to your users on how to create a Safari web clip to add to their iOS device Home Screen. Or, if you would like to share the app with a select group of users, we recommend the Ad Hoc distribution method. See the iOS Provisioning Portal for details on Ad Hoc Distribution.
We encourage you to review your app concept and evaluate whether you can incorporate additional features to enhance the user experience.
As apple guidelines says that:
4.2 Minimum Functionality
Your app should include features, content, and UI that elevate it beyond a repackaged website. If your app is not particularly useful, unique, or “app-like,” it doesn’t belong on the App Store. If your App doesn't provide some sort of lasting entertainment value, or is just plain creepy, it may not be accepted. Apps that are simply a song or movie should be submitted to the iTunes Store. Apps that are simply a book or game guide should be submitted to the iBooks Store.

IDFA not used, do we need to show App Tracking Transparency popup?

Seeking expert advice
I am working on an OTT platform for a client that has iOS and tvOS apps;
I am a bit confused about whether we should show the App Tracking Transparency pop up for this app if we are not using IDFA.
We are using the following analytical tools in our apps.
Firebase Analytics and Crashlytics
Mixpannel
Youbora
I made sure that any SDK is not using IDFA using this method.
Additionally, we send identifiers to large content delivery networks like Akamai to give the users a personalized experience.
When we submitted the tvOS app for the first time, it was rejected for not showing the ATT popup. (Existing iOS app is already showing it)
These are the App Privacy information added by the iOS team in App Store.
I seriously doubt that we don't need to show this popup since we are not using IDFA identifier. Is that correct? We can use these analytical tools and all even if the user denying the tracking option. So if we show this popup unnecessarily, it will create a negative impact on the user experience.

iOS App Rejection due to private API call viewControllerForView:, Facebook API

My app was rejected because
The use of non-public APIs is not permitted on the App Store because
it can lead to a poor user experience should these APIs change.
in the method
viewControllerForView:
I asked where I used viewControllerForView: and they responded
“viewControllerForView:” was found in the methods:
-[FBSDKLikeButton _handleTap:] and -[FBSDKLikeButton _like:].
My FBSDKLoginKit, FBSDKCoreKit and FBSDKCoreKit pods are all at 4.15.1 (the latest version). How should I go about fixing this?
You don´t need to make any changes in your code, read this post from Facebook developers of how to solve it.
After integrating our SDK into your iOS app, you will need to submit
your app to Apple for review. As part of this review process, you will
be asked if your app uses the Advertising Identifier (IDFA). Please
check "Yes". You will then be asked how your app makes use of it. The
question will take this form: This app uses the Advertising Identifier
to (select all that apply)?
- Serve advertisements within the app
- Attribute this app installation to a previously served advertisement
- Attribute an action taken within this app to a previously served advertisement
If you will be using the Audience Network framework, you must select
the first option. If you are using our core framework to track
install attribution and app events, please select the second and third
options. If you are using both, select all three.
You will also be asked to check a box to confirm that your app honors
a user's Limit Ad Tracking setting in iOS. The Facebook SDK honors the
iOS Limited Ad Tracking Setting. When a person enables Limited Ad
Tracking, Facebook only uses data obtained through the use of the
Advertising Identifier for “Limited Advertising Purposes” as defined
by the iOS Developer Program License Agreement. Please make sure check
this box when prompted.
Marking these questions in this way will help ensure a smooth review
process

How can I have an iBeacon advertise my app in the App Store? [duplicate]

How do I get my app icon to show in the bottom left corner of the lock screen and have it link to the app store? Can I control that using iBeacons? Is it easy to test without having the app in the app store?
You must have your app already installed on an iOS device before you can trigger any functionality using iBeacons. There is no way to have the presence of a beacon automatically prompt a user to download your app from the AppStore, no matter what the user interface.
The only exception to this is that if the iOS device already has another app installed that prompts a user to download your app. You could even do this with a pre-installed app that responds to beacons like Passbook. But even in this case, you somehow have to get the third party app developer to put in custom code to link to your AppStore page on iBeacon detection, or somehow get a user to put in a new passbook entry for prompting to install your app.
The bottom line is that all of these exceptions are generally harder than getting people to install your app via other mechanisms.
Sorry.
EDIT: It seems that lots of reports of this are really referring to the new Suggested Apps feature of iOS8. This is an AppStore feature that uses geofences (not beacons) to find apps relevant to your location. The description of this feature in settings says:
Leaving this option turned on will allow iOS to offer suggestions for App Store apps that you do not already have installed. These can be based on what you already have installed or what people near you find interesting.
Again, this is based on geolocation not beacons, and it is unclear whether the suggestions are based on an algorithm (other folks regularly using an app in the vicinity), a database (known locations of major retailers), or paid marketing (e.g. Starbucks pays Apple to suggest their app when near one of their shops.) It could be a combination of all three.
How do I know that this technology is not based on beacons? Because I received an app suggestion for Starbucks (without having the app installed) and then I immediately used a non-iOS-based beacon scanner that verified no beacons were in the vicinity.
Apps appear in the lower corner of the lock screen on iOS 8 when there are geofencing events. This can include location or beacon events.
The app I'm working on shows up in the corner when I enter a beacon region.
You need to register the UUID in your app that the beacon is
broadcasting. You use a CLLocationManager to register for a
CLBeaconRegion with the associated UUID, which will then cause the
delegate of CLLocationManager method -locationManager:didEnterRegion:
to fire.
2Mike Welsh
Pls can you show any code how to "register the UUID in your app that the beacon is broadcasting".
Also if you finding beacons with UUID+major+minor - do you need to to register them all? Because I have about 100 ibeacones and all of them have different major, minor.
If iPhone owner don't download my app never, how he will see it in the corner? How Apple will know, that exactly this uuid, major, minor are by this app? Where they take information?
Can you show on you example? Because now I have a lot of questions, but still no answers, just completely different information.
Other can also to read article by estimote about "icon in the left corner": http://blog.estimote.com/post/97824495825/ios-8-pushes-location-context-to-a-new-level-lock
This use case is depicted by Apple Documentation Region Monitoring via iBeacon and the good example by Estimote as told by #ElmRid
The only way to trigger an app using ibeacons is to have the app already installed on the device.
If the app is not installed, Apple might be able to send apps suggestions based on Geo-Location (as for Starbucks or Apple Store), but that is something that needs to be requested to Apple and they will eventually approve it (it has nothing do to with the submission of an App).

How do iphone apps know about other apps?

I recently downloaded an app (Overkill) and they have an in game "virtual currency" called "overkill medals" or "OM". You can use the in-app purchase system to buy more OM, or you can earn it, through their service called "Tapjoy."
Tapjoy (inside the Overkill app) brings up a menu with eligible apps, and a link to the iTunes store to download it and requires you to "download and open" the app in order to earn your OM.
How does this app know that I have downloaded and opened the app, in order to award me the OM?
Edit: It also seems to know when I had the app already
The app is likely checking to see if another app has registered a custom URL scheme, by calling UIApplication canOpenURL, against a list of known schemes dolled out by Tapjoy to each implementor.
The isn't anything within the Apple's iOS SDK that would allow this, so in all likelihood each of these apps is registering with a web service. The server is tracking installation and use of the various apps by relating the unique device id.

Resources