到功能
1、數據庫中要有相應的表,并創建相應的實體類,復寫相關方法
2、在相關的jsp頁面添加兩個jsp按鈕,用于簽到與簽退,并添加id屬性
簽到簽退
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<base href="<%=basePath%>" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
//給按鈕signin綁定單擊事件,實現簽到功能
$(function(){
$("#signin").click(function(){
//alert("ok");
//發送ajax請求,完成簽到.并通過回調函數顯示結果
$.ajax({
url:"duty?method=signin",
type:"post",
dataType:"text",
success:function(data){
//顯示簽到結果
if(data==0){
$("#result").html("簽到失敗");
}else if (data==1) {
$("#result").html("簽到成功");
}else {
$("#result").html("已經簽到,無需重復簽到");
}
}
});
});
//給按鈕signout綁定單擊事件,實現簽退
$("#signout").click(function(){
//alert("ok?");
$.ajax({
url:"duty?method=signout",
type:"post",
dataType:"text",
success:function(result){
$("#result").html(result);
}
});
});
});
</script>
</head>
<body>
<div class="place">
<span>位置:</span>
<ul class="placeul">
<li><a href="#">考勤管理</a></li>
<li><a href="#">簽到簽退</a></li>
</ul>
</div>
<div class="formbody">
<div class="formtitle"><span>基本信息</span></div>
<ul class="forminfo">
<li><label> </label><input name="signinTime" type="button" class="btn" id="signin" value="簽到"/> 每天簽到一次,不可重復簽到</li>
<li><label> </label></li>
<li><label> </label></li>
<li><label> </label><input name="signoutTime" type="button" class="btn" id="signout" value="簽退"/>可重復簽退,以最后一次簽退為準</li>
</ul>
</div>
<div id="result"></div>
</body>
</html>
3、在servlet中編寫簽到相關方法
servlet方法
//考勤簽到操作
public void signin(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//獲取session作用域中的emp對象,emp存放的是被考勤人信息,自行創建
Employee emp= (Employee) request.getSession().getAttribute("emp");
String empId=emp.getEmpId();
//調用業務層完成簽到操作
DutyService ds=new DutyServiceImpl();
int n=ds.signin(empId);//0失敗 1成功 2已經簽到
//無需頁面跳轉,直接響應結果(通常與ajax連用)
response.getWriter().println(n);
}
4、在service實現類編寫簽到的邏輯方法
業務實現類
截圖勾線有誤,其實進行在dao層進行了兩個操作 1、查詢是否簽到的操作 2、保存簽到信息的操作
@Override
public int signin(String empId) {
//判斷用戶是否已經簽到
Date now=new Date();//yyyyMMdd——>hhmmss
java.sql.Date today=new java.sql.Date(now.getTime());//hhmmss
boolean flag= dd.find(empId,today);//1、查詢是否簽到的操作
//對返回的flag進行處理,true:已經簽到,false沒有簽到,進行簽到
int n=0;
if (flag) {
return 2;
} else {
Duty duty=new Duty();
//duty.setDtId(dtId);序列自增
duty.setEmpId(empId);
duty.setDtDate(today);
DateFormat sdf = new SimpleDateFormat("hh:mm:ss");
String signinTime= sdf.format(now);
duty.setSigninTime(signinTime);
//完成簽到
n=dd.save(duty);//2、保存簽到信息的操作
return n;//0失敗 1成功
}
}
dao層方法
@Override
public boolean find(String empId, Date today) {
//jdbc查詢操作
//創建jdbc變量
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
//創建變量
boolean flag=false;//默認情況為查不到
try {
//創建連接
conn=DBUtil.getConnection();
//創建SQL語句
String sql="select * from duty where empid=? and dtdate=?";
//創建SQL命令
ps=conn.prepareStatement(sql);
//給占位符賦值
ps.setString(1, empId);
ps.setDate(2, today);
//執行sql語句
rs=ps.executeQuery();
//遍歷
if (rs.next()) {
flag=true;//簽到成功
}
} catch (Exception e) {
e.printStackTrace();
}finally{
//關閉變量
DBUtil.closeAll(rs, ps, conn);
}
return flag;
}
@Override
public int save(Duty duty) {
//添加操作
//創建sql語句
String sql="insert into duty values(seq_duty.nextval,?,?,?,null)";
//創建params變量集合
Object[] params={duty.getEmpId(),duty.getDtDate(),duty.getSigninTime()};
return DBUtil.executeUpdate(sql, params);
6、在原來的jsp頁面中,編寫ajax請求,處理從servlet傳來的數據
jsp頁面添加方法
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<base href="<%=basePath%>" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
//給按鈕signin綁定單擊事件,實現簽到功能
$(function(){
$("#signin").click(function(){
//alert("ok");
//發送ajax請求,完成簽到.并通過回調函數顯示結果
$.ajax({
url:"duty?method=signin",
type:"post",
dataType:"text",
success:function(data){
//顯示簽到結果
if(data==0){
$("#result").html("簽到失敗");
}else if (data==1) {
$("#result").html("簽到成功");
}else {
$("#result").html("已經簽到,無需重復簽到");
}
}
});
});
//給按鈕signout綁定單擊事件,實現簽退
$("#signout").click(function(){
//alert("ok?");
$.ajax({
url:"duty?method=signout",
type:"post",
dataType:"text",
success:function(result){
$("#result").html(result);
}
});
});
});
</script>
</head>
<body>
<div class="place">
<span>位置:</span>
<ul class="placeul">
<li><a href="#">考勤管理</a></li>
<li><a href="#">簽到簽退</a></li>
</ul>
</div>
<div class="formbody">
<div class="formtitle"><span>基本信息</span></div>
<ul class="forminfo">
<li><label> </label><input name="signinTime" type="button" class="btn" id="signin" value="簽到"/> 每天簽到一次,不可重復簽到</li>
<li><label> </label></li>
<li><label> </label></li>
<li><label> </label><input name="signoutTime" type="button" class="btn" id="signout" value="簽退"/>可重復簽退,以最后一次簽退為準</li>
</ul>
</div>
<div id="result"></div>
</body>
</html>
簽退功能
1、在servlet層編寫簽退相關方法(提前處理,ajax直接顯示結果)
//考勤簽退操作
public void signout(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//獲取session作用域中的emp對象
Employee emp= (Employee) request.getSession().getAttribute("emp");
String empId=emp.getEmpId();
//調用業務層完成簽到操作
DutyService ds=new DutyServiceImpl();
int n=ds.signout(empId);//0失敗 1成功 2沒有簽到
//無需頁面跳轉,直接響應結果(通常與ajax連用)
response.setContentType("text/html; charset =utf-8");
PrintWriter out= response.getWriter();
if (n==1) {
out.println("簽退成功");
} else if (n==0) {
out.println("簽退失敗");
} else {
out.println("尚未簽退");
}
}
2、在service的實現類編寫簽退的邏輯方法
//考勤簽退操作
public void signout(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//獲取session作用域中的emp對象
Employee emp= (Employee) request.getSession().getAttribute("emp");
String empId=emp.getEmpId();
//調用業務層完成簽到操作
DutyService ds=new DutyServiceImpl();
int n=ds.signout(empId);//0失敗 1成功 2沒有簽到
//無需頁面跳轉,直接響應結果(通常與ajax連用)
response.setContentType("text/html; charset =utf-8");
PrintWriter out= response.getWriter();
if (n==1) {
out.println("簽退成功");
} else if (n==0) {
out.println("簽退失敗");
} else {
out.println("尚未簽退");
}
}
3、dao層調用的方法與簽到一致,無需添加 4、在原來的jsp頁面中,編寫ajax請求,處理從servlet傳來的數據(result為簽到簽退按鈕下的一個div的id用來顯示考勤結果)
jsp頁面中的添加的方法/函數
//給按鈕signout綁定單擊事件,實現簽退
$("#signout").click(function(){
//alert("ok?");
$.ajax({
url:"duty?method=signout",
type:"post",
dataType:"text",
success:function(result){
$("#result").html(result);
}
});
});
注:采取mvc架構模式
簽到實現 1、點擊簽到按鈕,跳轉到簽到的servlet,調用相關的方法 2、dao層首先去數據庫查看用戶是否簽到,如果簽到則返回true,如果沒簽到則返回false,并執行保存簽到信息的方法。返回簽到的結果0失敗,1成功,2已簽到,并將數據返回到servlet 3、servlet將數據直接響應給前臺頁面,jsp頁面通過Ajax獲取信息,更根據相應的值顯示相應的提示語。
簽退實現 1、點擊簽退按鈕,跳轉到簽退的servlet,調用相關的方法 2、dao層首先去數據庫查看用戶是否簽退,如果簽到則返回true,如果沒簽到則返回false,并執行保存簽退信息的方法。返回簽退的結果0失敗,1成功,2已簽到,并將數據返回到servlet 3、servlet將數據直接響應給前臺頁面,jsp頁面通過Ajax獲取信息,更根據相應的值顯示相應的提示語。
項目地址(手動復制下面地址到瀏覽器即可): shimo.im/docs/IaCeHAzWu80UoG45
指一算,入職已經一月有余,也參與了一兩個項目,以前做學校項目的時候,對一個功能的取舍,很多時候都取決于“那個某某應用都有,那我們也放一下吧”之類的想法;但在“每個功能對于當前產品的受眾是否有用,對產品未來的發展是否有積極意義”這一點上,卻沒有進行長足的思考。
例如:在近期的一個項目的設計中涉及到的“簽到”功能,起初我并沒有把這個功能放在心上,然而在對其進行設計的過程中,我發現,“簽到”并非像大部分人想的那樣,只是一個“放之四海而皆準”的慣用功能而已。
在互聯網的浪潮來臨以前,當人們說起“簽到”二字時,聯想起的不是每日打卡上線拿到的獎勵,更多的可能是被懲罰支配的恐懼,不論是上課點名所占據的平時分,乃至每日上班的出勤率,都和簽到的次數息息相關。
早期的簽到多以人工手寫登記的方式為主,用于記錄人員的到場情況,便于登記者對提供的內容進行調整。
傳統“簽到”的使用場景
隨著互聯網的發展,“簽到”逐漸在原先的意義基礎上,弱化了“懲罰”的概念,擴寬了簽到的時間維度(例如可以補簽),同時增加演變出了促進用戶活躍、刺激產品推廣等更多新的用途。
綜合來說,大部分的簽到功能,本質上都是一種通過獎勵(物質or心理)強化用戶行為,從而培養用戶使用習慣,最終達到推廣產品/培養忠實用戶的功能。
在討論一件事物的外化形態的時候,需要先弄明白其產生的本質原因。對于現在的App來說,“簽到”功能隨處可見。然而這樣設計的原因是什么,又能夠幫助使用者達到什么目的呢?
常見“簽到”功能的目的
目的1:促進用戶活躍度
說到“簽到”,最常見的類型大概就是獎勵型“簽到”了。這一類型,大多都會給用戶一些物質或精神獎勵,來刺激用戶重復啟動產品,培養用戶習慣,從而提升產品的活躍度。
許多產品還可以設置定時的簽到提醒,在設定好的時間,通過推送提醒用戶打卡,以防止用戶錯過各式各樣的簽到福利,舉個栗子:
京東簽到領“京豆”(左)&陰陽師簽到獎勵(右)
在京東商城中,通過連續啟動app簽到可以兌換京豆,京豆在實際消費中可直接用于支付訂單,每100京豆可抵1元現金使用。而在游戲《陰陽師》中,每日登錄搖簽都會獲得對應的獎勵,而不論是商城還是游戲,相信大家都有過“本來只想看看消息,沒想到一打開就根本停不下來”的經歷。這種時候,設計者便達到了他的目的。
目的2:增加使用,提高營收
僅僅是簡單地讓用戶打開App,并不能滿足產品設計者。一個產品存在的價值,只有在它真正被用戶使用的時候才能得到足夠的體現。于是“簽到”功能又承載了增加用戶對產品業務的使用,提高產品營收的目標。
例如:上文提到的簽到獎勵“京豆”,還有《陰陽師》簽到獲得的紅色達摩(注:快速升級式神經驗的工具),都是為了讓用戶買的更多,玩的更多,刺激用戶對產品的重復使用。
目的3:促進分享
以上提到的內容,主要是通過對“簽到”行為給予積極的反饋,使用戶在多巴胺的影響下產生預期的行為。而接下來這種簽到形式,則是利用了用戶自我實現層面的心理需求。
英語流利說的打卡頁面
這種類型的簽到往往是一個長期的、需要堅持的過程,并且可以為用戶帶來積極正向的影響。一些具有自我成長意義的簽到內容可以滿足用戶的自我實現需求(自身技能的提高)以及尊重需求(分享后得到他人的夸贊、認同),同時也可以提高產品的曝光度。看著累計打卡天數的一天天增加,內心也會覺得很有成就感。
在了解了“簽到”產生的背景和原因之后,當我們要設計一個屬于自己的簽到功能的時候,需要考慮的內容有哪些呢?
“簽到”功能的設計要素
在以智能手機為媒介的互聯網時代,打開“簽到”的方式已經不僅僅局限于紙筆書寫了,針對不同類型的產品,也有分別適用的簽到方式。例如:對于單純只需要用戶登錄便可以達到促活目的的產品(例如電商、游戲產品),可以在登錄后自動彈出簽到窗口。
對于具有一定工具性,用戶需要完成任務才能體現平臺價值的(例如學習平臺、運動軟件)則可以在任務完成后跳出簽到內容,也可以將簽到放在希望引導用戶觀看的一些內容界面,增加打開次數。
大部分的“簽到”累積天數的方式不外乎累計型和連續型兩種,累計型簽到指的是:斷簽后依然計算總天數,連續型則指斷簽后需要重新開始的計算方式。對于需要用戶做比較長時間心理建設的簽到內容(例如:學習等),使用累計型的會更合適,否則用戶很容易出現“破罐破摔”,一旦斷簽就徹底放棄的情況。
一般來說,我們可以把簽到周期分為兩種:
對于簽到的獎勵內容該如何設定,這往往和產品希望培養的用戶行為直接相關,例如:希望用戶多購買東西,就可以多送優惠券,希望用戶多分享,就可以贈送一些滿足用戶虛榮心的等級積分。根據反饋內容的不同,我們還可以將簽到分成以下幾種常見類型:
(1)物質激勵型
物質激勵型包含兩種:
蝸牛睡眠挑戰計劃
這類簽到方式,具有游戲化的四個基本特性:目標、規則、反饋、自愿參與,讓用戶更容易堅持下去,甚至沉迷。但從心理學上來說,“失去”往往會帶來不良的情感體驗。
(2)精神激勵型
這類簽到,主要是利用等級、稱號、曝光率等精神獎勵刺激用戶使用,例如:Keep的運動徽章,微博話題的簽到熱度排行等等,主要利用了人們對于自我實現和尊重等處于馬斯洛需求三角上層的需求,大多數時候能帶來分享效應,但對于獲得獎勵的門檻往往要求較高(例如:一定要完成學習/運動目標才可以簽到)。
Keep運動徽章(左)& 微博超級話題簽到排行(右)
(3)體驗驅動型
這類簽到,則是將“簽到”作為產品的一種屬性,使產品擁有了每天都需要被打開的原因。例如:網易蝸牛讀書,每天免費讀書一小時,雖然沒有簽到功能,但是將其內化成了用戶每天必須打開它的理由。
蝸牛讀書,每天一小時閱讀時長免費領
這類將“簽到”基因植入產品的方法可以很好地提高整個產品的活躍度,但這種功能是建立在用戶有需求的基礎上的,如果用戶沒有閱讀的需求或傾向,免費時長再長可能也沒有吸引力。
雖然“簽到”已經成為了一個十分常見的功能,但并不意味著所有的產品都適合增加這個功能,以刺激用戶無限地喚起主頁面。
結合上文的一些分析,我們可以得出,適合設置“簽到”功能的產品大多都具有以下特點:
適合設計簽到的產品特點以及產品類型
例如以下幾類應用:
這里的閱讀類包括了小說閱讀、漫畫閱讀平臺,也包括了內容比較碎片化的新聞資訊閱讀平臺。對于內容產出者和平臺來說,用戶的活躍度是至關重要的,對于傳統內容平臺來說決定了作者的收入,對于資訊平臺而言,越多的用戶也能帶來更多的廣告投資,所以需要更多刺激用戶活躍度的設置。
金融類產品的收益曲線是每天都在變化的,即使沒有簽到獎勵,用戶大多時候每天都會進行查看,可以利用這一點給用戶一些優惠/活動,吸引用戶進行投資。
社區產品想要長期活下去,就需要提高用戶自主運營參與的程度,在獲得用戶活躍度保持社區活力的同時,還可以利用LBS技術,進行精準的運營活動地域投放。
電商類產品都希望用戶盡量多地瀏覽商品,增加下單內容,簽到和常用的大促手段有異曲同工之妙,都是為用戶創造更多的購買可能。
相比之下,以下類型的應用則不太適合使用“簽到”功能:
不適合強加“簽到”功能的應用特點
例如:殺毒軟件、天氣類軟件,這類軟件大多數時候是在后臺中完成自己的任務,對用戶的生活主要起到輔助作用的,用戶對這類產品沒有重復喚起的需求,太過強調自己的存在感反而可能招致用戶厭煩。
設想一下如果一個殺毒軟件有事沒事總是彈出提醒讓你每日簽到,恐怕會被立馬送進回收站吧…
綜上,這就是我在前輩們的思考基礎上對于“簽到”這個功能得出的一些想法,歡迎對設計感興趣的朋友們一起來討論呀~
參考內容:
蘭道鍋,在設計簽到功能的時候,我在想什么? | 人人都是產品經理. (2018). Retrieved from http://www.woshipm.com/pd/1025518.html
馬璐,如何讓簽到成為提升用戶活躍度的利器 | 人人都是產品經理(2018). Retrieved from http://www.woshipm.com/pd/992382.html
活動盒子,“打卡簽到”:APP用戶運營制勝法寶 | 人人都是產品經理. (2018). Retrieved from http://www.woshipm.com/operate/491571.html
作者:rt,公眾號:未知素設計
本文由 @未知素設計 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自 Pexels,基于 CC0 協議
源|活動盒子-APP活動運營工具(huodonghezi.com)
做運營的人很愛講的一件事情是“提高用戶粘性”,換句話說就是培養用戶習慣吧。也就是讓用戶在APP中養成一種習慣,慢慢把其變成一種自然。那么這種習慣要怎么培養呢?
盒子菌jio得簽到功能是培養用戶習慣的好辦法,通過簽到吸引用戶每天去完成打開APP的動作。同時,在簽到功能中嵌入發券、任務等,還可以引導用戶關注近期APP推出的新功能等。
廢話不多說了,下面就進入正題。先來了解下什么是簽到功能?
簽到功能是指用戶每天在APP內進行“簽到”,表明用戶當天打開或登錄某個APP并進行一些操作。用戶通過簽到的行為可賺取積分、經驗值以及兌換獎品等,提升產品體驗很有效的附加價值,也提升了產品的流量。流量越大,即用戶活躍度越高,我們通常用這一指標來衡量產品的價值。
當我們設計某個功能的時候,都會從各個層次去思考這個功能到底能夠給我們的產品帶來什么好處。以下,我們從企業以及用戶兩個層次來分析
1、企業
一方面是低成本的吸引用戶,增加用戶粘性,提高APP活躍度,建立良好的用戶體系;另一方面是提升企業收入,通過獎勵用戶激勵用戶去完成下單動作或產品消費行為。
2、用戶
獲利,形式主要兩種:一種是積分、優惠券、禮品等物質獎勵,另外一種是簽到的同時伴隨的榮譽感、儀式感等精神獎勵。
簽到功能雖然能夠有效增加用戶使用的次數,但是也不是所有的應用都適合這個功能。那么不禁思考,簽到功能究竟適用于哪些產品?
1、首先是新發布的APP,新APP在剛推出的時候,特別是其所在的行業已經有比較強有力的對手的時候,簽到功能就很容易吸引用戶使用該APP,和新用戶注冊獎勵的模式相類似。
2、其次是內容類(小說、漫畫、資訊等)、電商類,金融類產品。這些類型的產品都是通過內容吸引用戶,在用戶未成為忠實用戶之前,可以通過簽到來吸引用戶,培養用戶習慣。
反觀工具類、殺毒類和天氣類APP,大多數時候是在后臺中完成自己的任務,對用戶的生活主要起到輔助作用的,用戶對這類產品沒有重復喚起的需求,太過強調自己的存在感反而可能招致用戶厭煩。
1、心理滿足型
(1)網易云音樂“樂簽”
網易云音樂的簽到做得很走心,會讓用戶覺得不是為了簽到而簽到,因為它在每天的簽到頁面會顯示一句充滿文藝氣息的句子,并推薦一首歌。盒子菌覺得這滿足了部分文藝青年的bigger,事實證明網易云的樂簽效果還不錯,蠻多用戶表示為了每日一簽而來順便簽到。
(2)微博超話打卡
微博的超級話題內置的簽到功能,通常在明星相關的超話下會比較活躍,采用的屬性為手動\連續\無限周期\獎勵:經驗值和連續天數。
微博超話的簽到功能對于粉絲群體來說真的是很討巧的一個設計,完成連續簽到不僅證明自己對idol的愛,還在同一群粉絲群體中產生一種認同感,心理上的快樂和滿足感不言而喻。
只要你還對你的idol感興趣,微博就可以通過簽到功能的輔助,把你黏在超話里,大大提升了用戶的活躍度,刺激次日留存率。同時在這里斷簽的懲罰對你來說也不是不可接受的,畢竟可以花錢買補簽卡,為愛充值天經地義,不是嗎?
2、產品驅動運營
簽到功能大多結合運營活動,為活動引流,同時在簽到獲得獎勵后,給用戶心理感覺還能獲得其他福利,吸引用戶連續來簽到;
(1)Keep運動簽到
當用戶完成一次訓練之后,APP會對本次的訓練提供數據分析,并提示用戶去分享,如果用戶只分享到Keep社區,則會繼續彈出頁面,詢問用戶是否分享到其他社交平臺。同時可以添加運營人員發起的話題,以此完成打卡簽到。
這種以產生內容的方式進行打卡,可以進一步活躍用戶,帶動整個社群的氣氛,讓用戶在這個圈子里產生互動,產出內容。并且,其他用戶打開社區時,看到周遭的人都那么堅持,自己也不應該放棄,正是這么一種心理暗示,對用戶起著激勵的作用,健身這件事情恰恰需要他人的激勵。
(2)網易蝸牛“每天免費讀書1小時”
網易蝸牛本身是沒有簽到功能的,但卻自帶“簽到”特性。這主要得益于APP推出的“每天免費讀書1小時”活動,超過這個時間才需要付費閱讀。在這個碎片化的時代,大多數人的每天閱讀時長遠不足1小時。
因此網易蝸牛的“免費”閱讀產品,登錄即可領1小時免費時長就是這個產品的“簽到功能”,吸引很多用戶每天自行登錄。
這就是所謂的產品驅動運營,產品本身就有讓你每天簽到的基因。不過,前提是產品能很好的滿足你的某一個需求,用戶體驗要好,不然自帶的簽到基因也是毫無價值可言。
3、結合積分系統
可結合APP本身的積分系統,用戶可通過簽到獲得更多積分,簽到所得積分,可以用于在其他商城抵扣現金券。激發用戶簽到的動力,引導用戶長久的進行簽到。
(1)優盟“簽到賞金”
優盟APP的簽到活動形式,簽到入口是從APP首頁直接跳出,以APP首頁入口展示給用戶,使簽到率得到很大的提升。進入簽到頁面,顯示用戶簽到天數,并羅列出簽到可獲得的獎勵內容,提高用戶簽到的活躍度。且用戶通過簽到獲得積分可以在APP內兌換商品或享受商品折扣,對于用戶來說可以將積分變得更有價值。
(2)36氪“晨讀打卡”
36氪的晨讀打卡功能,活動形式新穎有趣。用戶支付一元放入晨讀獎金池參與打卡,第二天在規定時間內打卡,可以隨機瓜分獎金池內的獎金,累積的積分還能再積分商城中使用。這是目前見到的最有趣的簽到功能,門檻低,創新,有趣味,培養用戶早起打卡的良好習慣,同時也培養了用戶使用產品的習慣。
(3)美柚“柚子街”
用戶在柚子街可以參與簽到,每天簽到可獲得1積分柚幣,第7天時可獲得4積分,積分可以直接兌換商品。
通過簽到獲得積分帶來流量和活躍,讓用戶能夠獲得積分,且積分可以有利益可得。在凸顯簽到獲得積分的同時,引導其他獲得積分的途徑,帶動其他功能的活躍。形成了以簽到-積分獲得-積分消耗-功能活躍-獲得積分的閉環。
小結
簽到功能的存在,不僅能夠提高用戶活躍,還能夠刺激用戶完成指定行為,發現APP的價值,成為APP的忠實用戶。您不妨也搞個簽到試試看?不用擔心自己沒有簽到的運營經驗,因為有APP活動運營工具—活動盒子可以幫助您。它不單單是提供免費的簽到活動模板,還兼具一系列的活動設置,比如觸發行為SDK埋點(優盟首頁跳出的簽到入口),一站式解決運營人員沒資源、沒精力的痛點。
1、利用人性的虛榮和炫耀心理,通過打卡讓用戶形成炫耀點,比如累計打卡天數,超越其他人次數等,用戶有成就感之后才會分享成就,最終給產品帶來新增。
2、利用社交圈,通過社交關系的刺激,讓好友之間相互監督和鼓勵,形成打卡氛圍,最終幫助用戶形成打卡習慣。
3、滿足用戶利益,建議在不同的打卡節點,增加獎勵以刺激用戶,比如3、7、14天時可以增多獎勵值,在最后一天時有特殊獎勵。
4、簽到頁面的設計要簡單明了,培養習慣的關鍵性在于操作簡單、理解簡單。
簽到對于產品本身,是借助一種儀式感提高用戶打開產品或功能模塊的一個功能,它或許不能決定一個產品的好壞和生死,但如果你用得好,一定可以為APP錦上添花。
以上就是盒子菌對于簽到功能的一些看法,若有不足之處可在留言處戳下小編哦~
作者:活動盒子運營社,APP活動運營工具,助力APP運營,提升用戶活躍、留存和轉化;
本文為活動盒子原創,商業轉載請聯系作者獲得授權,非商業轉載請注明出處:
http://www.huodonghezi.com/news-1938.html
*請認真填寫需求信息,我們會在24小時內與您取得聯系。