Zilla Likes List(워드프레스 플러그인 제작)

버전 0.3
개인적으로 사용할 용도로는 일단 완료..

워드프레스 사용법에 대해 잘 모르는 상태로 개발하다보니..

짜집기 코드가 많지만… 일단 원하는 대로 잘 보여지네..

zilla-likes-list-v0.3.zip

※ 소스가 너무 난잡해서.. 비공개로 하려했는데..
혹시나 해서 공개~!


버전0.2
기존 zilla-likes 플러그인 활용하여 관리자 페이지에 메뉴만 추가
플러그인 이름 admin 에서 list 로 변경

zilla-likes-list-v0.2.zip


버전0.1 : 플러그인에 대한 기본정보 입력

zilla-likes-admin-v0.1.zip

 


플러그인 개발용 페이지

zilla likes 에 대한 관리자 페이지가 없어서 만들어 보기 시작..

잘 진행 될 지는.. 의문…

 

워드프레스에서 좋아요 버튼 사용하기!!(무료)

정보를 얻기 위하여 구글링을 하면서 여러 블로그를 다니다보면…

포스트 맨 하단에

위와 같은 하트 버튼(또는 손가락 등)을 본 적이 있었다…

괜시리 저 하트가 탐나서.. 찾아보기 시작..

우측 상단 검색창에 like 라고 입력 후 엔터..

다양한 플러그인들이 있다..

여러 블로그에서도 소개해주는 플러그인들…

1. WP ULike(유료)

설치하고 좀 하려고 보니 유료더라;; 기능 제한이 너무 많다;;

내가 원하는건 통계, 이런게 아니라 순수한 하트수만 관리 되었으면 했다;;

그래서 삭제…(취미? 일기? 낙서장? 마냥 즐기는 곳에 돈을 투자할 필요가 있을까..?)

 

2. LikeBtn(유료)

좋아요/싫어요 누른 수를 통계도 내주고 좋아보였다..

하지만 역시나 유료.. 응 삭제…

 

3. Comments Like Dislike

이 플러그인은 자세히는 사용하지 않았으나.. 무료로 추정…

하지만 설치하자마자 지운 이유는 무료/유료를 떠나서..

댓글에 대한 좋아요/싫어요 기능을 제공한다..

내가 원하는건 포스팅에 대한 좋아요이기 때문에.. 패스

 

4. zilla-likes(무료)

드디어 찾았다.. 내가 원하는 기능… 거기다 무료…

통계나 포스팅별로 관리는 할 수 없지만… 그래도 좋다..

다운로드는 Github 에서 받을 수 있다.

또는 zilla-likes-master 여기에서 받을 수 있다.

 

다운로드 받은 압축 파일을 압축해제 한 후 생성된 zilla-likes-master 폴더를

워드프레스 설치 폴더 내에 /wp-content/plugins/

하단에 이동해준다.

그리고 관리자 페이지에서 새로고침하게 되면

좌측에 ZillaLikes 메뉴가 생기게되고.. 들어가보게 되면..

좋아요(하트) 버튼을 사용할 위치를 선택

Posts : 글
Pages : 페이지
Blog Index 블라블라 : 메인화면 or 검색결과

 

하단에는 좋아요가 0개, 1개, 그 이상일 때 보여지는 문구를 작성한 후

Save Changes 버튼을 클릭한다.

그리고 포스팅 한 글에 들어가보면…

하단에

위와 같은 하트를 만나 볼 수 있다.

 

※ 좋아요를 어디에 저장하고 있는지 궁금하여 찾아봤는데..

wp_postmeta 테이블에 저장되고 있었으며,

meta_key 값이 _zilla_likes 로 저장되고 있다.

나중에 시간되면.. 이 자료를 바탕으로.. 통계(?)를 구해볼까… 싶은데..

워드프레스 플러그인은 개발이 처음이라.. 잘 될지 모르겠다…

1일 1포스팅이 목표였는데… 음..

일을 하면서 나중에 보면 도움이 될 만한… 내용 위주로..

일기형태로 작성하면서 개인 창고 마냥 쓰는 것을 목적으로

시작했는데… 활성화를 시키고 싶다는 욕심에..

1일 1포스팅이라는 말도 안되는… 목표를 세웠…

그래서 본의 아니게 신경이 쓰였나보다…

그냥 적당히 소소하게 올리고 놀아야겠다-_-

안드로이드에서 자바스크립트 사용하기(보안이슈)

안드로이드에서만 작동하는 네이티브 앱의 경우는 알 수 없다.

다만 내가 웹을 위주로 개발을 하다보니…

안드로이드의 경우에도 모바일 앱이 아닌 모바일 웹인 경우가 많다.

즉, 화면만 모바일 기기로 보는 것일 뿐, 안에 내용은

일반적인 웹 서비스이다.

다만 모바일로 보기 위하여 WebView 라는 클래스의 도움을 받아

화면에 뿌려줄뿐…

여기서 문제가 발생한다.

웹 서비스의 경우 대부분 javascript 로 구성되어져있다.

안드로이드 환경에서 모바일 웹을 구현 할때에는

웹 서비스 URL 의 경우 h ttps(SSL)이 기본으로 되어 있어야만

javascript 를 사용할 수 있다.

※ 물론 예외는 있다.

SSL 이 적용 되지 않은 웹 서비스는 모바일 웹 어플리케이션을

개발 할 수 없다는 말인가..?

그것은 아니다.

@Javascritp 라는 어노테이션을 이용하여 다음과 같이 구현 할 수 있다.

MainActivity.java

//javascript 사용여부 true
mWebView.getSettings().setJavaScriptEnabled(true);
//웹서비스 <-> 안드로이드간 통신할 클래스 및 객체명 정의
mWebView.addJavascriptInterface(new WebBridge(), "android");

 

MainActivity.java

아래와 같이 기기 고유 ID 와 Push 메시지를 보낼 때 필요한 토큰 값을 return 받는

메소드를 정의하여 준다.

public class WebBridge{
    @JavascriptInterface
    public String getPhoneId(){
        return Settings.Secure.getString(getApplicationContext().getContentResolver(), Settings.Secure.ANDROID_ID);
    }

    @JavascriptInterface
    public String getToken(){
        return FirebaseInstanceId.getInstance().getToken();
    }
}

 

모바일 웹서비스에서 호출 방법은 간단하다.

아래와 같이 사용하면 위에서 정의한 phoneId 와 token 값을 확인 할 수 있다.

//모바일웹과 일반웹을 구분하기 위함
if(window.android){
	alert(window.android.getPhoneId());
	alert(window.android.getToken());
}

물론 위와 같이 사용하였을 경우 일반적인 웹 서비스에서는 window.android 객체를

찾을 수 없기 때문에 실행되지 않지만, 모바일 웹에서는 정상 작동한다.


위와 같이 작업을 마치고 APK를 생성한 다음 Google Play Console 에 등록하면..

이상한(?) 메일을 받아 볼 수 있다..

설명을 보면…

상세사유와 수정해야 할 APK 버전, 그리고 수정 마감일(?)이 날아온다.

어플리케이션을 등록 해본 적이 처음이라 주의 사항 같은건가. .싶어서 넘어갔었는데..

수정마감일이 지나면, 구글플레이에서 등록한 어플리케이션이 등록 취소 된다.

즉, 다운 로드 받을 수 없는 상황이 발생되기 때문에…

사용자가 많은 어플리케이션의 경우 큰 타격을 입지 않을까 싶다.

하여 처음에는 Webview에서 URL을 호출 할때 http -> https 로 변경한 후

어플리케이션을 등록해보았다… (테스트 할 당시 캐시 문제인지 정상작동..ㅠㅠ)

//이전버전
//mWebView.loadUrl("http://esoclan.com");
//임시변경
mWebView.loadUrl("https://esoclan.com");

절대.. 네버.. SSL 이 등록되어 있지 않다면, 위와 같은 실수는 할지 말 것..!

웹어플리케이션을 실행해보면, 흰 화면만 나오고.. 아무것도 진행이 안된다;;

물론 SSL 처리가 되어있다면 위와 같은 방식으로 처리해도 될 지도…?

하지만 SSL 처리가 되어 있었다면… 여기저기 search 할 필요도 없었겠지만..;;

최종적으로 찾은 결과는 아래와 같다.

//javascript 사용여부 true
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageFinished(final WebView view, String url) {
        if(url.indexOf("test.php") > -1) {
            String phoneId = Settings.Secure.getString(getApplicationContext().getContentResolver(), Settings.Secure.ANDROID_ID);
            String tokenId = FirebaseInstanceId.getInstance().getToken();
            mWebView.loadUrl("javascript: updateInfo('" + phoneId + "', '" + tokenId + "');");
        }
    }
});

javascript 사용여부는 true이고

WebView 클래스의 mWebView 객체에 내장되어 있는

setWebViewClient 클래스를 선언하여 이용한다.

onPageFinished 메소드를 오버라이드 한다.

특정 URL에 해당하면 javascript 명을 호출하여준다.
※ 해당 URL 에서 javascript 메소드가 선언되어 있거나,
선언되어있는 js를 include 해주어야 한다.

이때 javascript 의 인자는 필요한 값을 넘겨주면 된다.


위와 같이 하고 플레이 스토어에 다시 등록하면, 별다른 보안 이슈 메일이 오지 않고,

정상적으로 등록되어 서비스를 이어 나갈 수 있게 된다.

GTA5 설치/실행 방법!! 2부

지난번 포스팅에 이어 2부…!!

지난번 글은 아래 참조…

https://esoclan.com/371

GTA5가 워낙 유명한 게임인데다 무료로 배포함으로써…

다운로드하려는 사용자가 많아 다운 속도가 1Mb/s 조차 나오지 않아…

틈틈히 다운로드를 받아서 최종적으로 100% 완료를 모두 받게 되었다.

에픽게임즈 런처를 실행하고, 라이브러리 클릭 -> GTA5를 클릭해준다.
※ 라이브러리 메뉴에서는 본인이 구매한 게임 리스트를 보여준다.
※ 게임을 바로 실행 할 수는 없고, 별도의 다운로드 과정이 필요하다.
※ 다운로드가 완료된 게임의 경우 실행으로 나타나고, 그렇지 않은 경우에는
설치라고 나타난다.

에픽게임즈에서 2020.05.22(금) 부터 문명6을 무료 배포하기 시작하였다.

무료다운로드(무료구매)기간은 2020.05.22 ~ 2020.05.29 까지이다.

코로나19 영향인지.. 아니면 GTA5 무료로 배포하면서 얻은 마케팅 효과인지…

유명한 게임을 줄줄이 무료 배포하니… 사용자입장에서는 좋을뿐이다.

이야기가 다른 곳으로 새버렸다…

GTA5를 클릭하게 되면

위와 같은 창이 잠깐(?) 나오게 되고

 

게임시 이용할 언어를 선택한다.

 

게임 실행에 필요한 프로그램에 대한 안내가 나오고,

 

라이선스 계약을 잘 읽고..(모..몰라.. 계속하기)

 

설치할 위치를 선택해주고… 계속하기를 눌러주면…

게임 설치가 시작된다.
(다운 받는다고 끝이 아니었다니…)

설치가 완료된다.
(그래도 다운로드 받는 속도에 비하면.. 무척 빨리 되는 편이다.)

닫기버튼을 눌러준다.

 

GTA5 게임 서비스에 연결중…
(에픽게임즈가 아닌 GTA5 게임 개발사 서버로 연결된다.)

업데이트가 이뤄지고, 업데이트가 완료되면 게임일 실행된다(?)

가 아니라..

위와 같은 오류가 발생한다.. 뭐지..ㅠㅠ

게임 한판 하기 힘드네…

오류인즉…

에픽게임즈에 구매내역이 없거나…

다운받은 GTA5가 최신 버전이 아니라는 얘기다..

안내에 따라 하나씩 해보자..

우선 라이브러리로 이동 후 위 버튼을 누른다.

그리고 제품 검사 버튼을 눌러주게 되면…

파일이 정상적으로 다운로드 되었는지 확인하는 과정을 거쳐본다.

다시 게임 실행!!

 

어라? Rockstar Games 에 계정도 만들어줘야하나부다..ㅠㅠ

Rockstar Games 계정을 만들러 출발~!

우측 상단의 계정 생성 버튼을 눌러준다.

라이센스 관련 정책과 계약 내용, 약관을 읽고… 읽고…!! 다음 버튼을 클릭~!
(읽지 않음..ㅎㅎ)

Rockstart Games 에서 사용할 이메일 주소와 비밀번호, 닉네임

그리고 생년월일과 국가를 선택해준다.
※ 비밀번호는 숫자, 대문자, 소문자가 모두 들어가야 다음 단계로 넘어간다.
※ 닉네임에서 한글은 되지 않는 것 같다.. 6자 이상부터 가능하다.)

게임 소식관련을 받을지 말지 선택한다.

어라… 지금보니 선택사항이었네… 해제하러 가야지…

하단의 로봇인지 아닌지를 체크 하고 다음 버튼을 누른다.
이거 할때 시간이 한참 걸렸다…ㅠㅠ

소화전을 선택하라, 신호등을 선택하라, 버스를 선택하고, 차를 선택하라.. 등등

 

프로필정보에 대한 공개 유무를 선택 할 수 있다.

나는 혼자 스토리 모드를 위주로 할 것이기 때문에 나만을 선택하였다.

친구는 알 것 같은데… 조직…?

클랜? 길드 시스템? 약간 그런 류인 것 같은데… 음..

 

담벼락과 통계 역시 나만.. .볼거다…

그리고 계정 생성버튼을 눌러보자~!

그럼 위와 같은 메시지가 나타나게 되고,

계정생성에서 입력하였던, 이메일 주소로 이동하면

Rockstar Games에서 인증 메일이 오게 된다.

이메일 주소 인증하기 버튼을 눌러주고,

위와 같은 창을 확인하였다면, 다시 Rockstar Games 런처로 돌아가서

인증확인 버튼을 눌러준다.

아.. 아직 끝난게 아니다..ㅠㅠ 길다 길어…

처음 GTA5 를 받을 때 사용하였던 에픽게임즈와 계정을 연동할지에 대해 물어본다.

GTA5 외에 다양한 게임을 관리해주는 런처이므로 연동하기를 눌러주었다.

 

클라우즈 저장의 경우 하는게 좋을 것으로 보여진다.

혹여 지금까지 진행한 다양한 스토리와 아이템 획득과 같은 내용을 저장할지 물어보는 것이다.

여기서 지금 활성화하지 않기를 누른다면…

혹여 PC에 문제가 발생하면 다시 처음부터 시작해야되는 상황이 생길 수 있다.

그러므로 클라우드 저장 활성화 를 클릭하여 지금까지 진행한

내용에 대해 저장해두는 것이 좋다.(자동 저장!!)

활성화 버튼을 눌러주게 되면….

드디어…

드디어!!!

GTA5 메인화면을 볼 수 있다..

조금 기다리면 감마 조정 화면이 나타나고

마우스로 Rockstar Games 로고가 보이면서

하단의 색깔(검정—-흰색)이 구분자로 잘 보이도록 조정한 후

확인 버튼을 눌러주거나, 엔터키를 눌러준다.

GTA5 진짜 메인화면…

종료, 설정, 스토리 모드가 있다.

설정에 들어가서 다양한 환경설정을 할 수도 있겠지만..

우선 스토리모드가 정상적으로 작동하는지에 대해 확인하기 위하여 스토리모드

를 클릭해본다.

우측하단에 보면 스토리 모드를 불러오는 중이라고 나타나고..

잠깐 기다리다 보면….

현재 어떤 배경을 기준으로 시작하는지에 대해 로고가 나오고…

스토리모드가 시작하게 된다.

 

에픽게임즈에서 무료로 배포한 GTA5…

스팀 찜목록에도 있었으나… 딱히 너무너무 하고 싶다…!! 라는 느낌이 들지 않아서…

구매하지 않고 있었다가.. 이번에 무료 배포 소식을 듣고 알게된 에픽게임즈 플랫폼..

에픽게임즈에 대한 계정이나 정보가 없는 상태로 포스팅을 작성하게 되었고,

이를 바탕으로…

에픽게임즈 회원가입, 게임 결제(다운) 부터 게임 설치까지 알아보았으며,

상황에 따라(다른 게임은… 또 다를지도..) 게임사에서도 회원가입을 해야 하는 경우..

등 다양한 문제가 발생 할 수 있다.

하지만 하나하나 차근차근 따라하다보면 원하는 게임을 다운 받고,

즐길 수 있지 않을까 싶다.