am 604ae4c7: am 552e5ce6: Merge "Doc change: Add note to use explicit intent when binding to billing service." into klp-modular-docs

* commit '604ae4c79e67be6be19724e03f35b9e6cc3fd617':
  Doc change: Add note to use explicit intent when binding to billing service.
This commit is contained in:
Dirk Dougherty
2014-09-08 23:59:34 +00:00
committed by Android Git Automerger
7 changed files with 22 additions and 16 deletions

View File

@@ -1,6 +1,7 @@
page.title=In-app Billing Version 3
page.title=In-app Billing API
parent.title=In-app Billing
parent.link=index.html
page.tags="billing, inapp, iap"
@jd:body
<div id="qv-wrapper">

View File

@@ -1,6 +1,7 @@
page.title=Implementing In-app Billing <span style="font-size:16px;">(IAB Version 3)</span>
page.title=Implementing In-app Billing
parent.title=In-app Billing
parent.link=index.html
page.tags="inapp, billing, iap"
@jd:body
<div id="qv-wrapper">
@@ -141,15 +142,17 @@ ServiceConnection mServiceConn = new ServiceConnection() {
};
</pre>
<p>In your activitys {@link android.app.Activity#onCreate onCreate} method, perform the binding by calling the {@link android.content.Context#bindService bindService} method. Pass the method an {@link android.content.Intent} that references the In-app Billing service and an instance of the {@link android.content.ServiceConnection} that you created.</p>
<pre>
&#64;Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bindService(new
Intent("com.android.vending.billing.InAppBillingService.BIND"),
mServiceConn, Context.BIND_AUTO_CREATE);
<p>In your activitys {@link android.app.Activity#onCreate onCreate} method, perform the binding by calling the {@link android.content.Context#bindService bindService} method. Pass the method an {@link android.content.Intent} that references the In-app Billing service and an instance of the {@link android.content.ServiceConnection} that you created, and explicitly set the Intent's target package name to <code>com.android.vending</code> &mdash; the package name of Google Play app.</p>
<p class="caution"><strong>Caution:</strong> To protect the security of billing transactions, always make sure to explicitly set the intent's target package name to <code>com.android.vending</code>, using {@link android.content.Intent#setPackage(java.lang.String) setPackage()} as shown in the example below. Setting the package name explicitly ensures that <em>only</em> the Google Play app can handle billing requests from your app, preventing other apps from intercepting those requests.</p>
<pre>&#64;Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent serviceIntent = new Intent("com.android.vending.billing.InAppBillingService.BIND");
serviceIntent.setPackage("com.android.vending");
bindService(serviceIntent, mServiceConn, Context.BIND_AUTO_CREATE);
</pre>
<p>You can now use the mService reference to communicate with the Google Play service.</p>
<p class="note"><strong>Important:</strong> Remember to unbind from the In-app Billing service when you are done with your {@link android.app.Activity}. If you dont unbind, the open service connection could cause your devices performance to degrade. This example shows how to perform the unbind operation on a service connection to In-app Billing called {@code mServiceConn} by overriding the activitys {@link android.app.Activity#onDestroy onDestroy} method.</p>
@@ -269,7 +272,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
}
}
</pre>
<p class="note"><strong>Security Recommendation:</strong> When you send a purchase request, create a String token that uniquely identifies this purchase request and include this token in the {@code developerPayload}.You can use a randomly generated string as the token. When you receive the purchase response from Google Play, make sure to check the returned data signature, the {@code orderId}, and the {@code developerPayload} String. For added security, you should perform the checking on your own secure server. Make sure to verify that the {@code orderId} is a unique value that you have not previously processed, and the {@code developerPayload} String matches the token that you sent previously with the purchase request.</p>
<p class="note"><strong>Security Recommendation:</strong> When you send a purchase request, create a String token that uniquely identifies this purchase request and include this token in the {@code developerPayload}.You can use a randomly generated string as the token. When you receive the purchase response from Google Play, make sure to check the returned data signature, the {@code orderId}, and the {@code developerPayload} String. For added security, you should perform the checking on your own secure server. Make sure to verify that the {@code orderId} is a unique value that you have not previously processed, and the {@code developerPayload} String matches the token that you sent previously with the purchase request.</p>
<h3 id="QueryPurchases">Querying for Purchased Items</h3>
<p>To retrieve information about purchases made by a user from your app, call the {@code getPurchases} method on the In-app Billing Version 3 service. Pass in to the method the In-app Billing API version (“3”), the package name of your calling app, and the purchase type (“inapp” or "subs").</p>

View File

@@ -1,4 +1,4 @@
page.title=In-app Billing Reference <span style="font-size:16px;">(IAB Version 3)</span>
page.title=In-app Billing Reference
parent.title=In-app Billing
parent.link=index.html
@jd:body

View File

@@ -1,9 +1,9 @@
page.title=Google Play In-App Subscriptions
page.title=In-App Subscriptions
parent.title=In-app Billing
parent.link=index.html
page.metaDescription=Subscriptions let you sell content or features in your app with automated, recurring billing.
page.image=/images/play_dev.jpg
page.tags="inapp, iap, billing"
page.tags="subscriptions, billing, inapp, iap"
meta.tags="monetization, inappbilling, subscriptions"
@jd:body

View File

@@ -1,6 +1,7 @@
page.title=Testing In-app Billing
parent.title=In-app Billing
parent.link=index.html
page.tags="inapp, billing, iap"
@jd:body
<div id="qv-wrapper">

View File

@@ -2,7 +2,7 @@ page.title=Google Play In-app Billing
page.metaDescription=In-app Billing lets you sell digital content as one-time purchases or subscriptions.
page.image=/images/play_dev.jpg
meta.tags="monetizing, inappbilling, subscriptions"
page.tags="inapp, iap, subscriptions"
page.tags="billing, inapp, iap"
@jd:body
<p>In-app Billing is a Google Play service that lets you sell digital content from inside

View File

@@ -1,3 +1,4 @@
excludeFromSuggestions=true
page.title=In-app Billing Version Notes
@jd:body