◎위챗 : speedseoul
http://202psj.tistory.com/571
http://blog.naver.com/PostView.nhn?blogId=lion_kwon&logNo=40191745058
http://wp.goodchois.kr/devtip/archives/372
http://code.google.com/p/android-market-api/
개발자 입장에서 쌔가빠지게 업데이트 게속 해줘도
업데이트 하나도 안하는 사용자들이 너무 많다!!
주위에 보면 그런 사람 잇더라..
그렇다고 따로 서버 둬서 체크하자니까 그냥 앱혼자노는 어플은 부담스럽다
구글플레이에 돈주고 개발자 등록했는데 요정도 서비스는 해줘야하는거 아닌가~~
그렇다 해준다.
버전체크 api를 이용해서
정보를 가져와서 사용하자~
Build.VERSION.SDK_INT 일케 가져온담에 맞춰서 하자
MarketSession session = new MarketSession();
session.login("id","pw"); // 구글 아무 계정이나 되는듯..?
// session.getContext.setAndroidId(myAndroidId);
String query = "com.kwon.kwonyangsanbus"; // 앱 이름 또는 패키지 명 다 쿼리 되는듯.. 근데 내꺼 안뜨냐 ?
AppsRequest appsRequest = AppsRequest.newBuilder()
.setQuery(query)
.setStartIndex(0).setEntriesCount(10)
.setWithExtendedInfo(true)
.build();
session.append(appsRequest, new Callback<AppsResponse>() {
@Override
public void onResult(ResponseContext context, AppsResponse response) {
// Your code here
// response.getApp(0).getCreator() ...
// see AppsResponse class definition for more infos
Logger.error("앱갯수 : "+response.getAppCount());
for(int i = 0 ; i < response.getAppCount(); i++){
Logger.error(i+" "+response.getApp(i).getTitle());
Logger.error(i+" "+response.getApp(i).getCreator());
Logger.error(i+" "+response.getApp(i).getPackageName());
Logger.error(i+" "+response.getApp(i).getVersion());
Logger.error(i+" "+response.getApp(i).getVersionCode());
}
}
});
session.flush();
스레드로 변경
//AsyncTask<params,progress,result>
private
class
ProcessFacebookTask
extends
AsyncTask<
void
,
void
=
""
void
,=
""
>{
@Override
protected
Void doInBackground(Void... params) {
try
{
// TODO Auto-generated method stub
MarketSession session =
new
MarketSession();
session.login(
"google_id"
,
"google_pw"
);
session.getContext().setAndroidId(androidId(MainActivity.
this
));
String query =
"카카오톡"
;
AppsRequest appsRequest = AppsRequest.newBuilder()
.setQuery(query)
.setStartIndex(
0
).setEntriesCount(
10
)
.setWithExtendedInfo(
true
)
.build();
session.append(appsRequest,
new
Callback<appsresponse>() {
@Override
public
void
onResult(ResponseContext context, AppsResponse response) {
Logger.error(
"앱갯수 : "
+response.getAppCount());
for
(
int
i =
0
; i < response.getAppCount(); i++){
Logger.error(i+
"title = "
+response.getApp(i).getTitle());
Logger.error(i+
" "
+response.getApp(i).getCreator());
Logger.error(i+
" "
+response.getApp(i).getPackageName());
Logger.error(i+
" "
+response.getApp(i).getVersion());
Logger.error(i+
" "
+response.getApp(i).getVersionCode());
}
}
});
session.flush();
}
catch
(Exception e)
{
e.printStackTrace();
}
return
null
;
}
}
//안드로이드 아이디 가져오기
public
String androidId(Context context) {
String key =
"android_id"
;
String[] paStrings = {key};
Cursor c = context.getContentResolver().query(uri,
null
,
null
, paStrings,
null
);
if
(!c.moveToFirst() || c.getColumnCount() <
2
)
return
""
;
return
Long.toHexString(c.getLong(
1
));
}
</appsresponse></
void
,></params,progress,result>
<uses-permission android:name= "com.google.android.providers.gsf.permission.READ_GSERVICES" > </uses-permission> |
[출처] 안드로이드 구글플레이 버전 등 정보 확인 api|작성자 떡건