package com.sgxp.googleindexing; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.support.annotation.NonNull; import com.google.android.gms.appindexing.Action; import com.google.android.gms.appindexing.AppIndex; import com.google.android.gms.appindexing.Thing; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.common.api.PendingResult; import com.google.android.gms.common.api.ResultCallback; import com.google.android.gms.common.api.Status; import com.group.studyproject.R; /** * Created by narvind on 24/10/16. */ public class MainActivity extends Activity { private String myWebsite = "http://123hindijokes.com/";//"http://examplepetstore.com/dogs/standard-poodle"; private String myTitle = "Hindi jokes";//"Standard Poodle"; private String myDescription = "The best site for hindi jokes";//"The Standard Poodle stands at least 18 inches at the withers"; private GoogleApiClient mClient; private Uri mUrl; private String mTitle; private String mDescription; private static final String TAG = "TESTING92303209"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_google_indexing_main); mClient = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build(); mUrl = Uri.parse(myWebsite); mTitle = myTitle; mDescription = myDescription; readIntent(getIntent()); } /** * This intent will read the incomming intent and then translate its url * */ private void readIntent(Intent intent) { String action = intent.getAction(); String data = intent.getDataString(); log("readIntent> action: "+action+" \n\tdata: "+data); if(Intent.ACTION_VIEW.equals(action) && data!=null){ log("readIntent> "); }else{ } } @Override protected void onStart() { super.onStart(); log("onStart> Starting"); mClient.connect(); PendingResult<Status> result = AppIndex.AppIndexApi.start(mClient, getAction_1()); result.setResultCallback(new ResultCallback<Status>() { @Override public void onResult(@NonNull Status status) { if(status.isSuccess()){ log("onStart> AppIndexApi Start Success"); }else{ log("onStart> AppIndexApi Start Failed"); } } }); } @Override public void onStop() { log("onStop> Starting"); PendingResult<Status> result = AppIndex.AppIndexApi.end(mClient, getAction_1()); result.setResultCallback(new ResultCallback<Status>() { @Override public void onResult(@NonNull Status status) { if(status.isSuccess()){ log("onStop> AppIndexApi Start Success"); }else{ log("onStop> AppIndexApi Start Failed"); } } }); mClient.disconnect(); super.onStop(); } public Action getAction_1() { Thing object = new Thing.Builder() .setName(mTitle) .setDescription(mDescription) .setUrl(mUrl) .build(); return new Action.Builder(Action.TYPE_VIEW) .setObject(object) .setActionStatus(Action.STATUS_TYPE_COMPLETED) .build(); } public Action getAction_2(){ /** * Receipe code had the following lines * */ // final String TITLE = recipe.getTitle(); // final Uri APP_URI = BASE_URL.buildUpon().appendPath(recipe.getId()).build(); return Action.newAction(Action.TYPE_VIEW, mTitle, mUrl); } public void log(String message){ android.util.Log.d(TAG,message); } }