Product ID for in app purchase - iphone

My app id is like com.MyApp-01. I have to use in app purchase in my app.What product id should i create on iTunes. As per apple rules i need to create product id like com.MyApp-01.productID for testing but i can't add this symbol '-'in product id .

The product ID doesn't have to start with your bundle ID. You can simply drop the dash and use com.MyApp.productID, or even just productID.

Related

Is it possible to pass an ID to the app store when someone links to my app?

We have different affiliates that sell our app and we want to know when an app purchase originates from one of our affiliates' websites.
So when someone clicks the link to our app is it possible to pass an ID that indicates which affiliate, and then attach that ID to the purchase transaction.
We want to give our affiliates a percentage of sales, so we need to know exactly which affiliate a purchase came from.
You can work with campaign links, check out the generator: https://analytics.itunes.apple.com/#/campaigngenerator
id = the Apple ID of your app, will be the same
pt = the provider
token, will be the same
ct = the campaign token, put here your different affiliates
After you get at least 5 installs from a campaign they start to show up in App Analytics. This it what you can expect it to look like:
You'll see:
Impressions
App Units (downloads)
Sales
Sessions (Opt-in data, so be careful)
https://developer.apple.com/app-store/user-acquisition-marketing/

I can't enable my Push Notification param

I've created three months ago an application that was successfully approved into itunes. One of the improvements I need to make is about including "Push Notifications".
And here is the problem: when I try to edit that param in the "App ID" in developer.apple.com the checkbox is disabled and I can't check it (is the first step that in every place they tell we should do, am I missing anything?).
In the Apple documentation it says ( https://developer.apple.com/library/mac/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingProfiles/MaintainingProfiles.html )
To enable technologies for an existing App ID
In Member Center, select Certificates, Identifiers & Profiles.
Under Identifiers, select App IDs.
Select the App ID you want to change, and click Edit.
Select the corresponding checkboxes to enable the technologies you want to allow.
But it never says what I should do if that param is disabled.
Note: My ID is com.XXXXX.* , I suppose is not a problem because of the "*" (Yeah, I'm starting to be paranoic)
Thanks in advance!
You can't use an application ID with a wildcard ("*").
Click App IDs in the sidebar on the left side of the window.
The next page displays your valid application IDs. An application ID consists of an application’s bundle ID prefixed with a ten-character code generated by Apple. The team admin must enter the bundle ID. For a certificate, it must incorporate a specific bundle ID; you cannot use a “wildcard” application ID.

Implementing subscription based in app purchase

Having the below questions on implementing the in app purchase - Subscription based.
I would like to sell songs into my iPhone app via subscription based buying.
Here we do these things as below
-- We categorize songs , and list it. we will be having the category like "LOVE,SAD,PATRIOTIC,FRIENDSHIP,etc".
-- All of these content will be fetched from the web-server.
-- For each category , we have subscription.
-- When the user taps on "Subscribe", we show list of available subscription as "Monthly, weekly,Daily"
-- once the user completes the payment , we sent request to web server and download the content
-- This is my intended behavior of my proposed iPhone app
I am having the below questions
- Do i need to register ( product id ) each Songs into the iTunes developer portal.
also if the new song get added to the we server, do i need to add that new song product id into the iTunes
Pls let me know how can i go with implementing for the above situation
In this case, When you create categorize like SONGS then for that you are giving option like monthly, yearly etc.
In the itunes, when you create a main category like SONGS then you have an option to create child category means subcategory so you can include that new songs in the SONGS category.
But yes if you add a new song you have to create a new product ID for that because for the in-app purchase product id is required for any purchase.
if you add new song on server how would apple know so you have to add this also in Product id list.
let me know if you have any further query.

InApp purchase Product ID

I have n number of items to download from my server through apples InApp Purchase in iPhone. They fall under the price range of 0.99$ to 9.99$. Should i create n different product id's or 9 product id's are enough by making product id's as consumable and use same product id for different contents. (I have logic in my app to check whether user has already downloaded the content)
ONE product id for each of your product. This also covers consumables.
Completely distinctable. If you have a magazine with 12 issues a year, you must make one product id for each of these.
When I pay for a product with a specific product ID, I can demand all content linked to that id.

When to use an explicit app ID versus a wildcard ID?

What are the exact advantages of creating explicit App ID and Wild card ID? I saw that if we are creating a bundle of apps, we can create a wildcard App ID, otherwise explicit ID is good etc. But I am a bit confused and want to know more details about the exact advantages of both types.
If I have a free version first(1.0) and then want to submit priced version of same app with new features(2.0), what should be the right way?
Thanks.
You should choose a wildcard App ID if you do not plan to use push notifications and/or in App purchase. In your case, since you plan to start with a free version, then to provide a priced new version you should choose an explicit App ID reflecting the name of your application, and use in App purchase to allow people to buy the contents related to your priced version. This is what Apple is now recommending. Basically, the folks at Apple do not want us to develop a light and a priced version. They want a single App that can offer free contents and priced contents through in App purchase.
Provisioning profiles with Wildcard App IDs are recommended for most iPhone OS development because a single Wildcard App ID can be used to build and install most applications, including the sample code projects provided in the iPhone Reference Library. Wildcard App IDs are created by entering an asterisk in the Identifier portion of your App ID. The wildcard asterisk character must be the last character in the App ID string. If you use a Wildcard App ID, remember to replace the asterisk with an appropriate string using the reverse-DNS format when you fill in the Bundle Identifier field in your Xcode project.
Example App ID: ABCDE12345.*
ABCDE12345 is the Bundle Seed ID (generated by Apple)
* is the Bundle Identifier of the App ID. When you enter the Bundle Identifier in your Xcode project you need to replace the asterisk with an appropriate string using the reverse-DNS format
Example App ID: ABCDE12345.com.foocompany.*
ABCDE12345 is the Bundle Seed ID (generated by Apple)
com.foocompany.* is the Bundle Identifier of the App ID and the Bundle Identifier in your Xcode project must start with ‘com.foocompany.’ and the asterisk can be replaced with a string of your choosing
The second type of App ID is called an Explicit App ID. This type of App ID restricts a provisioning profile to only allow the installation of one application. Explicit App IDs are required to enable certain iOS features such as In App Purchase and Apple Push Notification service in your applications. Explicit App IDs are created by entering a specific string in the Identifier portion of your App ID. The recommended practice is to use a reverse-DNS formatted string for the Bundle Identifier portion of the App ID.
Example App ID: ABCDE12345.com.foocompany.appname
ABCDE12345 is the Bundle Seed ID (generated by Apple)
com.foocompany.appname is the App ID's Bundle Identifier and needs to be the same as your app’s Bundle Identifier
If you currently have an app that uses a wildcard App ID and would like to update your app to use an explicit App ID please see Technical Q&A QA1680, 'Updating from a wildcard App ID to an explicit App ID'.
Important Note: Change the "yourcompany" in your app’s default Bundle Identifier to the actual name of your company. This helps to avoid issues when you try to upload your app to the App Store.
Wildcard App Id is easier to use. You don't have to create new App Id and new provisioning profile for each small app you want to test. Explicit App ID is necessary to enable push notifications and in-app purchase. If you don't need both, just use wildcard and save your time for something more important than creating, downloading, installing and distributind multiple provisioning profiles(up to three for each App id - for development, adhoc and app store distributions!).
wildcard must be good for "Developer" testing your app on your device. (which should be in your provisioning profile with its associated UDID) Exclusive ID is for "Distribution", I would imagine
The idea is, as I understand it, that apps with a wildcard app id can share data. So if you want your pay version to be able to grab the settings the user entered when they were using the free version, you'd want that. That said, I've never used the wildcard option, so I don't have hands on experience using this.