Show other applications list in one app - ios

I going to show my other apps in one app. I know only one way to do that - just hardcoded icons, links and names of other applications, but it extremely inconvenient. Is there are way to reach itunesconnect's list of apps via some API?

You can use the iTunes lookup API to accomplish this. All you need is the developer ID of the account you want to lookup.
Here is a sample query for all of Facebook's apps:
https://itunes.apple.com/lookup?id=284882218&entity=software
The response contains a JSON object for the developer and then for each app, which includes any info you may want to grab such as the name or icon.

Related

How to work with Firebase App Indexing for IOS Apps

i am in the process of making my app with firebase i am pretty much done with that except Firebase App Indexing. I am very exited with this feature because it could help me to increase my app get more traffic from the web but the problem is i really can't able to see how to implement this. According to Firebase Docs i just need to register my app with this pice of code
[[FIRAppIndexing sharedInstance] registerApp:your Apple ID from iTunes Connect];
I have done that but what should i do after that?
1.My app is firebase app that means i don't have any website to host my content except firebase realtime database. Does my content is available for crawlers? if not how can i make available to them?
2.If i can able to show my content in the google search results i don't wanna show all the content and i wanna show just some of my content for example i have a social app for sharing General Knowledge questions, i wanna show just the question like "What is the highest mountain" in the search results and if the user want to see the answer it should take them to my app how can i do that?
3.As per docs i came to know that i need to create univiersal links for my app content to direct users from google search but how shold i do that ? Lets say should i crate universal links when the user create question?? if so how can i do that ??
Thank you very much for the help.
This is not currently possible on iOS using Firebase App Indexing. The situation is slightly different on Android, but that is not applicable to your question.
On iOS, Firebase App Indexing is simply highlighting pages on your website in Google search results that have corresponding content inside your app. This is achieved by piggybacking on Apple's Universal Links standard, and there is no proactive 'crawling' going on inside your app. This means unless you have a corresponding web page for your app with 1:1 content parity, you can't really benefit from Firebase App Indexing on iOS as it comes out-of-the-box.
The best workaround is to generate little 'placeholder pages' for every piece of content in your app, which the sole purpose of opening your app (if it is installed) or redirecting to the App Store (if it is not installed). Ideally you'll need some sort of deferred deep linking system so that users still see the correct content after downloading. Fun fact: this is essentially how HotelTonight operates their entire business model. Unfortunately Firebase's implementation is not mature enough to support this full flow, and Google hasn't quite figured out how to rank app-only content properly yet in search results so you will probably need to pro-actively submit your placeholder pages to them.
Shameless plug: at Branch, we provide all of the above as a free service. You can read more about it here and take a look at the set up docs here.

Store temporary data outside of iOS app

I have an app that is uniquely branded for each customer (think restaurants, etc.) I need to have the user be able to click on a link to my server that contains a unique code, stores that temporarily on the iOS device (cookie, etc.) and then directs them to the app store to download the app. Then when it is downloaded, the app grabs that cookie or temp. data on launch and brands the app for that customer. I know this is possible on Android, but is it on iOS?
Downloading the app first and then selecting the brand (or restaurant) is not feasible in this case, as the url wil be shared with other customers of the same business and we want to create a fluid experience, where they won't be able to "see behind the scenes" and choose a different branding.
Thanks
Edit
Thank you for all the replies. We've reevaluated and are considering having the url be opened on the device and grabbing the IP address or another unique id, and saving that along with the correct brand to a database. The app will then connect to the database on launch, and if the IP's match, will brand accordingly. We're looking for a more reliable identifier than IP, however. Now that UDID is deprecated, are there any other identifiers we can use?
I think the design you propose of a webserver link creating the code that needs to be read by the iOS app later is the issue. You should have a solution that is entirely app based. Perhaps you can have the same services on the website be available as one app which then sets up the code in pasteboard. The user then launches the actual app that looks at the pasteboard and skins itself accordingly.
That being said, data can be shared between apps from the same app seed ID by using UIPasteboard in addition to a few other ways.
I use the pasteboard to share info between apps quickly and easily using this class.
You can use identifierForVendor (UDID replacement) to identify individual devices. Are you planning on harvesting those identifiers prior to the end user "registering" the device at the final location? If not you'll never be able to determine which device belongs where.
What about having the end-user logging into your server as that restaurant? It can be a somewhat generic login per restaurant like "Wendys/Wendys5?" and "McDonalds/McDonalds7!" to determine their App Store URL. As long as the password is easy and non-programmatic to guess it would be unlikely they figure out how to register as a different restaurant. You could also do a simple restaurant selection screen coupled with a password specific to each chain but this would expose the user to which other restaurants are using the app. This way you won't have to continually add IPs if they expand locations and can revoke credentials if the login is compromised.
One question, though: Do all of your clients understand that they'll have to have an AppleID tied to each device? You can only shared a single AppleID across 20 devices.

Restrict features of iPhone app work for different app stores

I have an app that is on appStore.However this app gets some of the data from server side from an xml
My app is on different apple stores. However I want to restrict some features to only specific app stores. How can I make the application to work for different app stores , lets say make the app read different xml for different app stores or something like that? Is that possible? Or maybe Any place inside app where my app can read the store Type e.g find out if its USA Store or Japanese store or Etc.
An easy way of doing this would be to have a input parameter in your API call which the application can request which country it's from, and then deliver your refined results based on that. Then, launch multiple apps in iTunes connect where each one specifies which country it is in the API request, and only allow it to be downloaded from that country.
For example, if you had two applications:
MY APP (UK) - API call: http://example.org/api/uk/request.xml
MY APP (USA) - API call: http://example.org/api/usa/request.xml
Note: The country you set in iTunes connect is the app store registered to the users account and not based on what country they are actually in!
Alternatively, you could use a online service to determine the location based on their IP. I haven't done this but a quick search finds:
http://www.makebetterthings.com/iphone/how-to-find-ip-address-of-iphone/
http://www.geobytes.com/iplocator.htm?getlocation
i think in you developer account in the app setting you can choose to which stores to upload, or do you mean like having different content for some stores?
Actually you can do it in two ways:
1- build a different binary for each country
or
2 - find an API that let's you know what is the reference store for an user
About this second option, a quick search in the Apple documentation didn't return me a specific API to do this.
Sure, basing on the Locale is not good (what if the user changes the language settings?)
The only way I found is to use SKProduct class. It has a priceLocale property that returns an NSLocale instance. So if you do:
mySKProduct.priceLocale.localeIdentifier
you'll have a NSString with the locale associated to the reference AppStore. (in my tests: it_IT#currency=EUR ).
I tried it in a project with in app purchase enabled, I think that you must setup a real SKProduct to make it work properly
Regards
Fabio

How to open AppStore and show specific apps?

From within an app, I'd like to open up the iOS App Store and show some specific apps. They'll be from different developers, so I can't take that shortcut. Is there a way to list apps by ID, or somehow use specific search terms?
For example, how could I show just the Facebook and Twitter apps?
Here are some links that work, but will just show one app or one search term...
itms://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=307538288
itms-apps://ax.search.itunes.apple.com/WebObjects/MZSearch.woa/wa/search?media=software&term=Sea+Lion+Games%2C+Inc
If I could use separate search terms, that should work. For example, if you try to search for "angryninjarunner", you'll get one result for iPhone and iPad: Angry Ninja Runner. If you search for "rescuejumplite" - you'll get Rescue Jump Lite. But how can I combine those two terms, so I could show both apps, if I wanted to?
For the Google Play Store, you can just add a simple "OR" between app IDs, and it'll bring 'em up, nice and easy. Trying to do the same for iOS, but it has mostly resulted in me banging my head against the keyboard.
Unfortunately currently there is no option available for this. If both the app contains any common terms in it's name, you can query with that term.
App review guideline
2.25 Apps that display Apps other than your own for
purchase or promotion in a manner similar to or confusing
with the App Store will be rejected
AppGratis got kicked out and banned from appstore for this violation and this was added last year by Apple. So don't do it unless you plan to show your own apps.

Programmatically identify if an app is paid or free

I would like to identify whether an app is paid or free; programmatically, at runtime.
To brief on the context I'm working on, I'm developing an SDK which can be used by various third-party apps. I would like to identify if the app that is using my SDK is paid or free.
Any suggestions to find this?
You should make them configure your SDK writing their app id somewhere, and then your SDK have to check the app store webservices like this
https://itunes.apple.com/lookup?id=theAppID
There you can check the price
One thing you can do is this
https://itunes.apple.com/lookup?id=YOUR_APP_ID
and then fetch price & currency values from the returned JSON
There is a way tick into my mind,
Add a logic to get application name which using your SDKalso add some logic to send that name to you via API or any other way you preferred.
Once you get a new name in your server database, you can, open AppStore in iTunes, and search for the application there, and yes you'll get to know whether they are paid or free!
I know its tough if your SDKwill be going to fly with many apps, but not hard.
An alternate way, if there's some way that you get to know whether app is paid or free, then, you can do the same thing, send app name, and its price details.

Resources