라이믹스 2.0 으로 업데이트를 미뤘던 사이트 미룬 이유가 XE푸시앱에서 백지로 뜨는 문제 때문인데요.
더이상 미룰 수 없고 해서 업데이트를 해서 여기 도움을 받아 해결을 해보고자 업데이트를 했습니다.
제가 정보를 제공해서 해결을 해서 다른 분들께도 해결법을 제공해줬으면 좋겠네요.
서버에는 따로 에러는 발생하지 않습니다.
앱에서 로그로 남기는 에러는 아래가 유일한 에러입니다.
************ App version ************ 6(1.5)************ App source version ************ 17.09************ CAUSE OF ERROR ************ ****regid error**** [Ljava.lang.StackTraceElement;@93fa370 ************ DEVICE INFORMATION *********** Brand: samsung Device: a50 Model: SM-A505N Id: QP1A.190711.020 Product: a50ks ************ FIRMWARE ************ SDK: 29 Release: 10 Incremental: A505NKSU5CTL1
https://xepushapp.com/board_GsJl64/73951
앱제작 가이드에 설명에 로그인 부분에 필요한 위젯입니다.
<?php
/* Copyright (C) NAVER <http://www.navercorp.com> */
/**
* @class login_info
* @author NAVER ([email protected])
* @version 0.1
* @brief Widget to display log-in form
*
* $Pre-configured by using $logged_info
*/
class androidapp_login extends WidgetHandler
{
/**
* @brief Widget execution
* Get extra_vars declared in ./widgets/widget/conf/info.xml as arguments
* After generating the result, do not print but return it.
*/
function proc($args)
{
// Set a path of the template skin (values of skin, colorset settings)
$tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin);
Context::set('colorset', $args->colorset);
// Specify a template file
if(Context::get('is_logged')) $tpl_file = 'login_info';
else $tpl_file = 'login_form';
$oAndroidpushappModel = getModel('androidpushapp');
$config_push = $oAndroidpushappModel->get_androidpushapp_config();
$setting_default = "N%^N";
Context::set('change_s', $setting_default);
// Set a flag to check if the https connection is made when using SSL and create https url
$ssl_mode = false;
$useSsl = Context::getSslStatus();
if($useSsl != 'none')
{
if(strncasecmp('https://', Context::getRequestUri(), 8) === 0) $ssl_mode = true;
}
Context::set('ssl_mode',$ssl_mode);
// Compile a template
$oTemplate = &TemplateHandler::getInstance();
return $oTemplate->compile($tpl_path, $tpl_file);
}
}
/* End of file androidapp_login.class.php */
/* Location: ./widgets/androidapp_login/androidapp_login.class.php */
이하는 스킨 중
/widgets/androidapp_login/skins/final/login_form.html
<[email protected]($XE_VALIDATOR_MESSAGE)-->
<[email protected]($is_iapp == "Y")-->
<script language="JavaScript">
window.webkit.messageHandlers.callbackHandler.postMessage("error={$XE_VALIDATOR_MESSAGE}");
</script>
<[email protected]>
<script>
window.myJs_err.callAndroid_err("{$XE_VALIDATOR_MESSAGE}");
</script>
<[email protected]>
<[email protected]>
<script>
window.myJs_reg.callAndroid_start("ok");
function submit(a,b){
document.getElementById('id').value = a;
document.getElementById('pass').value = b;
document.myform.submit();
return 'ok';
}
</script>
<[email protected]>
<form action="{getUrl('','act','procMemberLogin')}" name="myform" method="post" class="ff" ruleset="@login">
<input type="hidden" name="success_return_url" value="{htmlspecialchars(getRequestUriByServerEnviroment())}" />
<input type="hidden" name="act" value="procMemberLogin" />
<input type="hidden" name="keep_signed" value="Y"/>
<input type="hidden" id="id" name="user_id" value="" />
<input type="password" hidden id="pass" name="password" value=""/>
</form>
이하는
/widgets/androidapp_login/skins/final/login_info.html
<[email protected]($is_iapp == "Y")-->
<script language="JavaScript">
window.webkit.messageHandlers.callbackHandler.postMessage("success={$logged_info->member_srl}");
</script>
<[email protected]>
<script language="JavaScript">
window.myJs_reg.callAndroid_reg("{$logged_info->member_srl}","{$logged_info->nick_name}","{$change_s}");
</script>
<[email protected]>