วิธีแก้เมื่อ app facebook error ว่า Fatal error: Uncaught OAuthException: An active access token must be used to query information about the current user by sekson

29
Apr
4

สืบเนื่องจากโปรเจกการฝึกงานของผมคือการทำ application ขึ้น Facebook โดยใช้ php-sdk และ javascript-sdk ในการทำ แต่เมื่อทำเสร็จและอัพขึ้น Facebook เรียบร้อย เมื่อตอนที่กำลังจะเข้าขั้นตอนเพื่อขอ permission กลับเกิด error พิสดารขึ้นมาว่า
Fatal error: Uncaught OAuthException: An active access token must be used to query information about the current user.thrown in xxxxx(ที่อยู่แอพเราบน server)/facebook.php line 560 (บางคนก็เกิดที่บรรทัดอื่น แต่เชื่อว่าน่าจะมาจากสาเหตุเดียวกัน) ซึ่ง error นี้เกิดจากการที่ user ยังไม่ได้ log in เข้า Facebook หรืออาจจะเป็น access token ที่มีนั้นหมดอายุไปแล้ว ซึ่งวิธีแก้ก็คือลองเรียก session Facebook ออกมาดู ถ้า session ไม่สามารถใช้ได้ให้ redirect ไปยังหน้า login ก่อน อธิบายไปอาจไม่เห็นภาพเรามาดูโค้ดดีกว่า

$facebook = new Facebook(array(
‘appId’  => $appId,
’secret’ => $secret,
‘cookie’ => true,
));

$redirect_url = $facebook->getLoginUrl(array(’canvas’ => 1,
‘fbconnect’ => 0,
‘next’ => $start_page(page ที่จะไปเมื่อ log in เสร็จ)
));

$session = $facebook->getSession();

if($session) {
    // i am logged in
    $this->me = $facebook->api('/me?access_token='.$session['access_token']);
 } else {
    // not logged in
    echo '<script type="text/javascript">top.location.href = \''.$redirect_url.'\';</script>';
}

ซึ่งโค้ดข้างต้นสามารถแก้ปัญหา error ดังกล่าวได้เป็นอย่างดี ทว่ามีบางกรณีที่ยังเกิด error อยู่ก็คือ cookie ที่ใช้เก็บ session ในขณะนั้น ซึ่งบางครั้งที่เราปิด browser ไปแต่
cookie ยังคงเก็บค่าไว้ วิธีแก้ก็คือก่อนจะทำการเรียก session ใหม่ ให้ทำการลบ cookie เดิมของแอพนี้ออกก่อน ดังนี้

if ($session) {
      try {
      $me = $facebook->api('/me?access_token='.$session['access_token']);
     } catch (FacebookApiException $e) {
       error_log($e);
       unset($_COOKIE['fbs_' .$appId]);
      $facebook = new Facebook(array(
       'appId'  => $appId,
        'secret' => $secret,
         'cookie' => true,
         ));
         $session = $facebook->getSession();
         $me = $facebook->api('/me?access_token='.$session['access_token']);
        }
     }

 อ้างอิง
http://forum.developers.facebook.net/viewtopic.php?id=95536

ARPU คืออะไร และ Social Game มี ARPU เฉลี่ยเท่าไร by heha

2
Apr
1

ARPU (Average Revenue Per User) คือปริมาณรายได้ต่อจำนวนคนทั้งหมดในเกม ใช้เป็นค่าที่ประเมินได้ระดับนึงว่าเกมเราสามารถสร้างรายได้มากน้อยเพียงใด

ตัวอย่าง ARPU บน Social Game:

เกมประเภททำฟาร์ม: $0.1-$0.2

เกมประเภท Mafia Wars:  : $0.25-$1

เกมประเภทสร้างเมือง: <$0.1

เกมประเภทพนัน (poker, lottery, slots): $0.25-$1

ข้อมูลนี้นับจากวันที่ 7 พฤษภาคม 2010 อาจจะเก่าไปหน่อย แต่ก็พอใช้อ้างอิงได้บ้าง

ที่มา: http://www.gamasutra.com/view/news/28456/GDC_Canada_Super_Rewards_Bailey_Quit_Your_Job_And_Make_Facebook_Games.php

Firebug - อุปกรณ์คู่ใจ Web Developer และอื่นๆที่เกี่ยวข้อง by wittaya

31
Mar
0

เป็น blog ในเดือนแรกที่เขียนลง levelup ในขณะฝึกงานครับ
โดยบทความนี้ขอเสนอ Add-on คู่ใจ web developer, facebook developer และ อื่นๆมากมาย

Firebug ซึ่งเป็น Add-on ที่มีให้ใช้ใน Firefox Browser เป็นหลัก
แต่ Browser อื่นๆก็สามารถ Download version lite มาใช้ได้
แต่จะมี feature ไม่ครบเหมือนใน Firefox นะครับ

เวปไซต์ http://getfirebug.com
หน้าดาวโหลด http://getfirebug.com/downloads หรือ search หา add-on บน Firefox
ดาวโหลดไปใช้ใน Browser อื่น http://getfirebug.com/firebuglite
Extension เสริม  http://getfirebug.com/wiki/index.php/Firebug_Extensions

โดยรุ่นล่าสุดจะอยู่ที่ 1.7 สำหรับ Firefox 4.0 (31/3/2011)

เมื่อติดตั้งและทำการเริ่ม Browser ใหม่แล้ว
เราสามารถเรียกใช้ Firebug ได้โดยง่ายๆเพียงแค่คลิ๊กขวาบนหน้าเพจ
ในบริเวณที่เราต้องการทราบ source code หรือต้องการ debug
แล้วเลือก Inspect Element ก็จะมีpanelด้านล่างโผล่ขึ้นมา
พร้อมโค้ตต่างๆในทั้งหน้าเวป โดยจะ mark ส่วนที่เราเลือกไว้
ยังมีลูกเล่นต่างๆที่เราสามารถลองดูได้
ซึ่ง UI ก็ถูกออกแบบมาให้ง่ายต่อนักพัฒนาเวปกันอยู่แล้ว

ddd

ฟีเจอร์และเทคนิคต่างๆของ Firebug
ล้วนแล้วแต่เป็นประโยชน์ต่อการทำงานและพัฒนาบนเวปไซต์อย่างยิ่ง
ฉะนั้นจึงควรรู้จักและหัดใช้ให้เกิดประโยชน์จะช่วยลดระยะเวลาได้เป็นอย่างดี
ฉะนั้นอย่าลืมเลยที่จะลง Firebug คู่กับ Firefox 4 กันนะครับ

เพิ่ม Return ให้เกม#1 : Daily Bonus by akara

27
Nov
0
ในการทำเกมแน่นอนครับ เราก็ต้องการที่จะให้ผู้เล่นพอเข้ามาเล่นเกมของเราแล้ว กลับมาเล่นอีกเรื่อยๆ
นอกจากความสนุก ความน่าสนใจของเกมแล้ว ก็ยังมีกลเม็ดในการดึงให้ผู้เล่นกลับมาเล่นอีกหลายรูปแบบ
วันนี้ก็จะขอพูดถึง กลเม็ดแรกกันเลยนะครับ
Daily Bonus คือ การที่ให้ผลประโยชน์พิเศษภายในเกมกับผู้เล่นในแต่ละวัน
โดยที่อาจจะให้ตรงๆหรือผ่านทางมินิเกมที่ต้องดวงในการเล่นเช่น Slotmachine หรือ หมุนวงล้อก็ได้
จุดประสงค์ เพื่อให้ผู้เล่นต้องกลับมาเล่นทุกๆวัน ไม่งั้นจะเสียโอกาสในการได้ผลประโยชน์
ซึ่งวิธีนี้เกมดังๆหลายเกมก็ใช้กันครับ ตัวอย่าง เช่น
เกม Bejeweled Blitz ใช้การเล่นเกี่ยวกับดวง
เกม Farm Ville
เกม Pet Society
เกม Pirate A Hoy!
แน่นอนครับเกมของผมเองก็ต้องใช้ Daily Bonus เหมือนกัน
เกม Planet that have many creatures
เกม Petswar - Asura Farm

แจกส่วนนึง เพื่อขายอีกส่วน by akara

11
Oct
0
คราวนี้ขอพักเรื่อง ราคาไอเท็ม Facebook Game ไว้่ก่อนนะครับ
พอดีมีเรื่องน่าสนใจอยากจะเขียนขึ้นมาแทรกพอดี (จริงๆแล้วกลัวทิ้งไว้นานจะลืม - -”)
คราวนี้จะพูดถึงเรื่องกลยุทธ์ในการขายของนิดหน่อยครับ นั่นคือ…
แจกส่วนนึง เพื่อขายอีกส่วน
(อย่าคิดมากนะครับชื่อผมมั่วๆตั้งขึ้นมาเอง)
ยังไง?
วิธีการก็ตรงตามชื่อนั่นแหละครับ คือมีของที่ผู้เล่นต้องมีคู่กันถึงจะใช้ได้หรือมีคู่กันแล้วดีกว่า แล้วเราก็ทำเป็นแจก(เนียนๆ)
1อัน อีกอันนึงก็เอาไว้ขาย ซึ่งโดยธรรมชาติของผู้เล่นแล้ว อุตส่าห์ได้ของมาทั้งทีแต่ใช้ไม่ได้ก็จะรู้สึกเสียดาย
ความรู้สึกนี้เองละครับที่จะกระตุ้นใ้ห้เค้าซื้อ
ยกตัวอย่าง :
รองเท้า - สมมติว่ารองเท้าคู่นึงราคา 100บาท วันดีคืนดีคุณได้รองเท้าข้างซ้ายมาแบบฟรีๆ
แล้วมีคนมาเสนอขาย รองเท้าข้างขวา ราคา 70บาท คุณจะซื้อไหมครับ?
ช้อนส้อม - สมมติว่าช้อนส้อมลายคิตตี้ชุดนึงราคา 25บาท วันดีคืนดีคุณได้ ช้อนลายคิตตี้ มาแบบฟรีๆ
แล้วมีคนมาเสนอขาย ส้อมลายคิตตี้ ราคา 15บาท คุณจะซื้อไหมครับ?
อ่านถึงตรงนี้พอจะอ๋อกันไหมครับ
งั้นมาดูตัวอย่างจริงๆในเกมกันดีกว่าึัครับ
Mafia War
กล่องสมบัติคือส่วนที่เค้าแจกครับ ซึ่งผู้เล่นจะได้มาจากเกมเพลย์(หาได้โดยไม่ต้องจ่ายเงิน)
พอได้มาปุปก็ขาย กุญแจ เลยราคา 9RP (ซึ่งกล่องแรนด้อมธรรมดา ราคา 12RP - -”  จากของเก่า )
อันนี้นอกจากจะหลอกล่อด้วยความเสียดายแล้ว ยังกระตุ้นด้วยความอยากรู้อยากเห็นอีกต่างหากว่าในกล่องมีอะไร
Bejeweled blitz
อันนี้เป็นกิจกรรมล่าสุดของเกมเลยครับ (10-10-10) เค้าแจก Boost x2 ให้เล่นได้ฟรีๆทั้งวัน
ซึ่ง Boost ในเกมนี้มันใส่ได้3อันครับ ปกติแล้วคนเล่นก็มักจะใส่ให้ครบทั้ง3อันเพื่อเพิ่มโอกาสในการไ้ด้คะแนนให้สูงที่สุด
นั่นหมายความว่า ต่อให้กดx2 ไปฟรีๆแล้ว ก็ต้องกดอย่างอื่นเพิ่มอยู่ดี นอกจากนั้นยังมีการกำหนดเวลาว่า
จะแจกแค่ภายในวันเดียวเท่าั้นั้น ทีนี้ผู้เล่นก็มันส์สิครับ นั่งเล่นมันทั้งวันเดี๋ยวไม่คุ้ม
อาจจะยังงงๆอยู่ว่า แล้วมันยังไง ผมยกตัวเลขให้ดูละกันครับ
ช่วงเวลาปกติ :
ใช้ Boost 3ตัว 6,000+3,000+7,500 = 16,500
เล่นวันละ 15 รอบ (15นาที) รวมแล้วใช้ไป 14,000×5 = 82,500
ช่วงกิจกรรม :
ใช้ Boost 3ตัว 6,000+3,000+FREE = 9,000
เล่นไป 60 รอบ(1ชม.) รวมแล้วใช้ไป 9,000×20 = 180,000 !!
กลายเป็นว่าได้ของฟรีมาแต่จ่ายมากกว่าเดิมซะอีก - -”
บทความนี้มาผมคิดวิเคราะห์ขึ้นมาเองนะครับ มั่วบ้าง อาจจะผิดบ้าง
โปรดใช้วิจารณญาณในการอ่านเอาเองนะครับ  - -”