Why the SKStoreReviewController does not let me submit a review? - ios

I succeeded implementing the SKStoreReviewController. But when the prompt comes up, the "Submit" button is grey & disabled.
I thought it was because I was in debug mode, but when I ship the app with Ad-Hoc PP the result is the same.
Why?

Apple provides the answer for you right here.
When you call this method in your shipping app and a rating/review
request view is displayed, the system handles the entire process for
you.
Emphasis mine.
To help clarify this some:
When building in Xcode, you will see what the OP shows in the screenshot
When building from a CI solution for release, you will not see anything
When running from TestFlight, you will not see anything
When running from the AppStore, only users who purchased (free or paid) your app will see it up to three times a year
When running from the AppStore, users who obtain your app via Connect promo codes will not see it
Users who disable In-App Ratings & Reviews under iTunes & App Stores in the Settings app will never see these prompts under any condition
Apple spells out point 3 here on the provided link:
When you call this method while your app is still in development mode,
a rating/review request view is always displayed so that you can test
the user interface and experience. However, this method has no effect
when you call it in an app that you distribute using TestFlight.
And for point 5, here is what Apple has to say on it at the provided link:
However, customers aren’t able to rate or review an app that was
downloaded using an iTunes Connect promo code.
So sorry, you can't pad reviews via promo codes ;)

Submit button is disabled in development version and the View doesn't even show up in Test Flight versions.

Related

AdMob Diagnosing Banner Not Displaying

I have an app in iOS TestFlight. It has AdMob ads. I originally deployed the app with the demo unit id and the app showed demo ads. So far, so good. I got my AdMob account approved and I added the real unit ID to my app as per the instructions. I ran the app on the simulator and the banner shows up, albeit with demo ads. So, I deployed this version to TestFlight, and now the app in TestFlight doesn't show any banner.
I don't know what is going wrong. It should at least display the demo banner. I would have to add some kind of logging to diagnose the issue.
So, I checked the documentation here and here.
I added my physical iPhone as a Test Device in the AdMob console, but my device still doesn't display any ads and the shake gesture does nothing.
The documentation says that I need to have the app in the store before I can serve ads, but it's a chicken-and-egg scenario. I want to make sure the ads are working before I deploy them to the store. I would at least like the demo banner to display, but even that won't display right now.
I also followed this documentation. If I add this test Swift code, the banner shows up. But this doesn't really help me much because it requires that I put the specific device id into the app.
GADMobileAds.sharedInstance().requestConfiguration.testDeviceIdentifiers = [ "[DEVICE ID]" ]
My two options are to roll back to the demo ad unit id which displays the incorrect demo banner or just hope for the best. Can anyone recommend advice here, or at least explain how I can get the ads to display on the test device?
Edit: The app works fine with the demo advert but it got rejected from the Apple store because the ad says "Test". It's a chicken and egg scenario.
verify all below points
First visit admob console and read the warning at top. add payments information if not added and approve your account.
Verify once, you replaced your production ads IDs properly in your app code for production environment.
For production Advertising your app need to add for review first from admob console too. checkout this documentation.
app-ads-txt correctly updated with status or not. checkout this link
If your Ads working in development environment Ads will work for production too if above all steps correctly done. some times on
New production ad IDs takes few hours or requests to load ads in user's
device. checkout below links
Common reasons for ads not showing - link
Take time too load production ads - link
For iOS TestFlight app rejection, your app contains any test keywords (test, lorem ipsum...) in app store listing content (screenshots or app contains testing data). for resolve this go-through app store review guidelines.

Can't submit on SKStoreReviewController [duplicate]

I succeeded implementing the SKStoreReviewController. But when the prompt comes up, the "Submit" button is grey & disabled.
I thought it was because I was in debug mode, but when I ship the app with Ad-Hoc PP the result is the same.
Why?
Apple provides the answer for you right here.
When you call this method in your shipping app and a rating/review
request view is displayed, the system handles the entire process for
you.
Emphasis mine.
To help clarify this some:
When building in Xcode, you will see what the OP shows in the screenshot
When building from a CI solution for release, you will not see anything
When running from TestFlight, you will not see anything
When running from the AppStore, only users who purchased (free or paid) your app will see it up to three times a year
When running from the AppStore, users who obtain your app via Connect promo codes will not see it
Users who disable In-App Ratings & Reviews under iTunes & App Stores in the Settings app will never see these prompts under any condition
Apple spells out point 3 here on the provided link:
When you call this method while your app is still in development mode,
a rating/review request view is always displayed so that you can test
the user interface and experience. However, this method has no effect
when you call it in an app that you distribute using TestFlight.
And for point 5, here is what Apple has to say on it at the provided link:
However, customers aren’t able to rate or review an app that was
downloaded using an iTunes Connect promo code.
So sorry, you can't pad reviews via promo codes ;)
Submit button is disabled in development version and the View doesn't even show up in Test Flight versions.

How to test Facebook mobile app install ads “Last Mobile Install Reported” field?

I've integreated Facebook SDK, and put the code [FBSettings publishInstall:YOUR_APP_ID]; in, and it worked all right with return value true.
I'm testing it using ad hoc distribution, for some reason the field Last Mobile Install Reported is not showing up. And the Facebook app summary page I got seems to be different to other people.
My question is:
Do I need to release the app to Apple store first, then download it via Facebook Ad in order for 'Last Mobile Install Reported' to show up?
My guess is that since I installed the app as Ad Hoc to my device, not via Facebook, so that 'Last Mobile Install Reported' didn't work. It is fair enough if that is the case, as I expect Facebook to charge me only when people download and install the app via Facebook Ads. But I'm not sure if my guess is all right or not. Can anyone clarify how facebook mobile app install ads works?
I've read through https://developers.facebook.com/docs/tutorials/mobile-app-ads/ already btw.
Any help would be appreciated.
I know I'm a little late to answer this but maybe this will help someone else. I just ran my first ad campaign on fb for my app and tracked installs.
First, the way you test if your app has the fb framework installed correctly and reporting installs is:
Look for the "fb_mobile_activate_app" event to show up in fb in the App Dashboard -> Insights -> App Events -> Overview. It should show up within a minute of the app opening.
Your app does not have to be released. I was getting install data from the simulator.
FB tracks all opens and if that same user clicked on one of your ads within the last 28 days it counts it as an install.
Your app do not have to be Released to see that feature. We have seen stats even for our development status app.
Last Mobile Install Reported works for non Facebook Ads related installs as well. They basically take in any installs .
It seems like you already have a Mobile Install Reported value in place. I don't think it would report a duplicated device if you set up the Info.plist correctly as instructed in the article below. Under "Advanced steps for mobile measurement", go to step 2.
https://developers.facebook.com/docs/tutorials/mobile-app-ads/
There is a "trick" to seeing your installs.
Yes, you can test "App Installs" on the Simulator or on your device...BUT...you might not see them on the Facebook Dashboard.
Instead, first go to the INSIGHTS tab reached from the left menu on the App Dashboard.
You may see App Installs here - but you might not.
Second, if you don't see any live data for App Installs, look at the section called "APP LAUNCHES." That can be used as a surrogate indicator that your app is working.
Third, if you don't see live data for "App Launches" - look at the date range. Change the date range to extend to TOMORROW's date. Give Facebook 1-2 minutes to update with your data. At that point, now you can see that live App Launches are occurring - and thus will know that your connection to FB is working.

iOS Development: Updating Free App After Buying

Ok, i don't know how call it but here i'll try to explain it...
I am developing an app and i am almost finished with it, and what i wanted to do is, first upload it as a free app for preview where the user has limited usage of it (like some features are blocked), it has ads that says to buy the full version and when the user bought the full version, it will automatically updates and unlock the other features.
The first thing that comes to my mind is to have 2 different apps the one for free and the other one is the full version and both upload it on the app store, but i saw some application that automatically updates their version after buying the full version.
How will i able to that?
Three words: In. App. Purchases.
StoreKit Framework Reference: http://developer.apple.com/library/mac/documentation/StoreKit/Reference/StoreKit_Collection/_index.html
Full Tutorial: http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/
Have fun
You should set up an in app purchase:
http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/

Editing screenshots in iTunes Connect after iOS app was approved

In the iTunes Connect App Management interface -- how do I edit the screenshots for my localized (approved and live) iPhone app?
Unfortunately, the web upload form had a bug which actually required the screenshots to be provided in reverse order (I provided them in the correct order, which meant that Apple reversed them and now they ended up wrong). Also mentioned here at StackOverflow. I only managed to edit the 4 screenshots in the US version, but not my localized version, and that was in the old interface.
The current standing on this has changed to:
Beginning January 9 [2013], app screenshots will be locked in iTunes Connect once your app has been approved. New screenshots may be uploaded when you submit a binary for an update to an existing app or a new app.
Apple support now got back with the (somehow not too satisfactory) answer:
If your app is currently for sale on
the App Store, you will need to submit
an update in order to change your app
screenshots.
If you have any further questions
regarding this, please let us know.
I was able to change my screenshots after my app was ready for sale, just click on "View Details" in iTunes Connect, delete the old screenshots and replace them, then "Done". The change is not instant so wait a bit. Then you will see your new screenshots on AppStore ;)
As of today, it appears you can't edit screenshots after you submit a new version. I tried everything but couldn't delete the draft screenshots until I finally removed my app from submission.
I usually use the time after submission to edit and improve the screenshots, but now have to be doing it before submission. This is a horrible change. Here is the email from support.
Being unable to now edit screenshots while an app is in "Waiting for
Review" status, is expected behavior.
Developer-facing documentation currently lists "Waiting for Review" as
a state where locked metadata can be edited. Screenshots should be the
only locked metadata that cannot be edited while an app is in the
"Waiting for Review" status.
We are currently updating the developer resources and documentation to
clarify
From the updated manual :
(*)
If you have new application screenshots for a version of your application, it is best to wait until this new version of your app is approved before updating your screenshots in iTunes Connect. Updating these before a version approval will change the screenshots for the currently-live application version. This best practice also applies to application metadata changes that you wish to coordinate for a specific version.
On the other hand, in the table in Appendix A it is stated that the screenshots are Locked, Version-level (page 153).
Version-level is:
If the item is marked on the Version, then the item information will relate to a specific version and may vary between versions.
Locked is:
If the item is marked as Locked, it can only be edited in an Editable State.
And a list of Editable states is:
Prepare For Upload, Waiting For Upload, Waiting For Review, Waiting For Export Compliance, Upload Received, Rejected, Developer Rejected, Invalid Binary, Missing Screenshot.
None of these states can be reached once the app is Ready For Sale by using any button in the iTunes Connect. The only reasonable thing that I can think of is submitting another minor version binary to Apple and looking for the possibility of changing the screenshots during the submission process.
The problem is (*):
If you have new application screenshots for a version of your application, it is best to wait until this new version of your app is approved before updating your screenshots in iTunes Connect.
So how do I do it correctly????????
I thought the same exact thing a couple of days ago. Then I uploaded it again in reverse order but instead it was random. They need to make a better UI for this. One where we dont even need to re-upload them, but arrows to move it up/down.
The official answer I received from Apple is:
Your app screenshots cannot be edited once your app has been approved. You can edit them in all other editable states.
Please note, when updating your app currently, you will be able to provide new screenshots and the new screenshots will not go live until the update is approved.
If you have any further questions regarding this, please let us know.
There's been some back and forth on the possibility of changing screenshots of an app that is in "Ready for Sale" state, without having to upload new binary.
At one point it was possible, but as of January 9th 2013 it requires a new binary:
Beginning January 9, app screenshots will be locked in iTunes Connect
once your app has been approved. New screenshots may be uploaded when
you submit a binary for an update to an existing app or a new app. For
more information on capturing and using screenshots, read the Xcode
User Guide.
source: https://developer.apple.com/news/?id=1092013a
Images CAN be edited after an app is available for sale. This was changed at end of 2010. If you already have 5 images - the upload link will not work until you delete one. No need to worry - if you delete one and have any issues on the DPI or RGB of what you are trying to upload (get an error or it is rejected) you can always click 'cancel' rather than 'save' and your original images will remain.
You dont need to add new version. Just wait about 1hr and your changes at screenshot gallery will appear at AppStore.
Solution for me was to use Safari. The controls would not show in Google Chrome. Using Safari I could modify the metadata.

Resources